Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   forma original (https://www.clubdelphi.com/foros/showthread.php?t=55649)

Max_E. 23-04-2008 05:52:37

forma original
 
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,

Código Delphi [-]
...
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/ind...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 :)


La franja horaria es GMT +2. Ahora son las 20:42:03.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi