Delphi - Imagen a escala

 
Vista:

Imagen a escala

Publicado por Cesar (10 intervenciones) el 20/05/2005 17:30:33
Hola a todos, muy buenos dias, mi pregunta es la siguiente: Como puedo hacerle para ver en un TImage digamos de un tamaño no muy grande, una imagen a escala, es decir, sin stretch, que se vea tal cual sus dimensiones pero a escala digamos a una tercera parte de su tamaño original, o si se puede que se adapte a las dimensiones ( o alto o ancho ) del TImage segun las dimensiones reales de la imagen,
lo que no deseo es que se distorcione o se corte la imagen dentro del TImage, que se vea bien.
Espero su ayuda compañeros, y digo compañeros por que gracias a ustedes me siento cada dia mejor como programador.
Gracias . Cesar Montero
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Imagen a escala

Publicado por BigLuis (713 intervenciones) el 20/05/2005 17:56:50
Hay mil maneras de hacerlo.Prueba esta
procedure TForm1.ReduceJPG(ImgSrc:TJPEGImage;ImgDest:TImage;Escala:Integer=75);
var
bmp: TBitmap;
jpg: TJpegImage;
scale: Double;
begin
// Abrir la imagen
jpg := TJpegImage.Create;
try
// Cargar la imagen
jpg.Assign(ImgSrc);
if jpg.Height > jpg.Width then
scale := Escala / jpg.Height
else
scale := Escala / jpg.Width;
bmp := TBitmap.Create;
try
//Crear el thumbnail
bmp.Width := Round(jpg.Width * scale);
bmp.Height := Round(jpg.Height * scale);
bmp.Canvas.StretchDraw(bmp.Canvas.Cliprect, jpg);
// Dibujarlo en el control
//Self.Canvas.Draw(10+Anchura, 10+(fila*(Escala+15)), bmp);
ImgDest.Picture.Bitmap:=bmp;
// Image1.Canvas.Draw(0,0, bmp);
// Image1.Picture.Assign(bmp);
// Convertirlo y guardarlo en disco.
// jpg.Assign(bmp);
finally
bmp.free;
end;
finally
jpg.free;
end;
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Imagen a escala

Publicado por Virum (484 intervenciones) el 20/05/2005 21:14:04
Hola:

Si lo único que quieres es que no se distorsione, o sea, que mantenga las proporciones originales y quepa en el TImate, basta con poner las propiedades Stretch y Proportional del TImage a True.

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Imagen a escala

Publicado por Cesar (10 intervenciones) el 30/05/2005 17:47:27
Gracias por sus respuestas señores.... y disculpen por no agradecer antes....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar