PDA

Ver la Versión Completa : forma original


Max_E.
23-04-2008, 05:52:37
Hola a todos :):

Estoy utilizando en Timage para mostrar imágenes y quisiera saber se existe la forma de que la imagen se vea en su forma original, es decir, si tengo una imagen (jpg) de 630x340 y el componente Timagen es de 200x200 (height, width):

- si al Timagen activo la opción stretch un lado de la imagen se expande y el otro se contrae llenando todo el cuadro 200x200
- pero si no la activo (stretch) solo puedo ver una parte de la imagen

y lo que quiero es que dentro de esos 200x200 se vea la imagen reducida pero con su forma original (rectangular, sin deformarla). Es posible eso??:o

Gracias por su tiempo y sugerencias que puedan darme

MaMu
23-04-2008, 06:12:11
Se me ocurre que podes crear temporalmente un bmp escalado en base a la imagen original, y mostrar ese bmp temporal. Para que se muestre la imagen como realmente es, tenes que fijar la relación de escala, como por ejemplo, cuando creas un thumbnail.

Saludos

Max_E.
23-04-2008, 06:21:44
mm creo que olvide decir que soy novato

y como se crea un bmp escalado ??? :(

MaMu
23-04-2008, 06:28:49
Por ejemplo,


...
uses JPeg;
...

procedure ConvertToBMP(IMGorigen,IMGDestino:string);
var MyJPEG : TJPEGImage;
MyBMP : TBitmap;
begin
MyJPEG := TJPEGImage.Create;
with MyJPEG do
begin
LoadFromFile(IMGorigen);
MyBMP := TBitmap.Create;
with MyBMP do
begin
//Acá es donde tenes que jugar con la escala
//Width := MyJPEG.Width;
//Height := MyJPEG.Height;
Canvas.Draw(0,0,MyJPEG);
SaveToFile(IMGDestino);
Free;
end;
Free;
end;
end;


Además hechale un ojo a este truco:

http://www.clubdelphi.com/trucos/index.php?id=433&scroll=47&scrollb=202

Creo que es muy claro, y bien podes modificar el tema de la escala de grises.

Saludos

Neftali [Germán.Estévez]
23-04-2008, 10:07:52
Además de las que has comentado, revisa en la ayuda las propiedades Autosize (para que el control se ajuste al tamaño de la imagen) y Proportional (para que no se deforme).

Max_E.
24-04-2008, 03:46:51
OK gracias MAMU y neftali
utilizaré ambas sugerencias

Saludos y gracias de nuevo :)