Cargar una imagen en disco en una variable.

Me gustaría saber como cargar una imagen .bmp que se encuentre en disco duro en una variable que pueda ser por ej. De tipo TPicture o TBitmap, la idea como tal es teniendo una TImage en mi form, yo se que en la propiedad Picture de la TImage puedo cargar una imagen desde el disco en tiempo de diseño, y también que en tiempo de ejecución teniendo una variable image1 de tipo TImage puedo usar dentro del código esto:
image1.Picture.LoadFromFile('algo.bmp');
Pero lo que quiero hacer es poder cargar en una variable tipo TPicture o algún tipo de datos parecido, una de las imágenes que están en disco duro en base al contenido de una variable tipo bool, es decir si esta es true a la variable le puedo asignar "algo1.bmp" y si es false a la variable le puedo podría asignar "algo2.bmp" (eso no se como hacerlo) y que después de haber hecho eso, si pueda asignarle a image1 el contenido de la variable tipo Tpicture o TBitmap o la que sea que siva para eso (esto tampoco se como hacerlo)...
Me estoy extendiendo un poco más de lo normal y demás que estoy algo repetitivo, y no se si la pregunta como tal halla quedado clara, pero en todo caso muchas gracias por la atención que se le pueda prestar a este mensaje.

1 respuesta

Respuesta
1
Ok si se puede así:
Var
Imagen:TPicture;
begin
Imagen := TPicture.Create;
if bandera then
Imagen.LoadFromFile('NombreImagen')
else
Imagen.LoadFromFile('OtraImagen');
Imagen1.Picture := Imagen;
end;
Y listo... eso es todo, aunque no entiendo para que ocupas la variable Imagen:TPicture...
Pero así te funciona lo que intentas hacer quizá solo te hace falte crearlo por eso te falla, si es que ya lo intentaste.
Muchas gracias por responder tan rápido y gracias de nuevo por la atención prestada a este nuevo mensaje.
Lo que me dijiste eso ya lo había hecho antes y si, me funcionó, pero en realidad lo que quiero hacer es algo
como:
...
var
imagen : TPicture; // O algo parecido
Begin
if bandera then
begin
// imagen igual a 'c:\windows\azteca.bmp'
end
else
begin
// imagen igual a 'c:\windows\abanicos.bmp'
end;
// Ahora si cargar imagen 1 en
// Image1 que es de tipo TImage y es uno
// de los controles que le he agregado a
// al form
// Image1.picture...... := imagen;
Como ves no se como hacer lo que está dentro del if-else, ni tampoco lo de la anterior línea.
Eso es más o menos lo que deseo hacer...
Gracias, y hasta pronto.
Ok vamos a ver si te entendí, ¿tu tienes por ejemplo una bandera la cual si es true ponme alguna imagen en mi Image1 y si la bandera es false entonces ponme otra imagen ... si verdad?
Bueno pues sencillo:
Ejemplo
if Bandera then //Caso true
Image1.Picture.LoadFromFile('c:\windows\azteca.bmp')
else
Image1.Picture.LoadFromFile('c:\windows\abanicos.bmp');
Y listo dependiendo de tu bandera el componente Image1 tomara una de las dos imágenes.
Dime si eso querías, si no explícamelo de nuevo...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas