Redimensionar Imagem (Estou desesperado, Ajudem)
Olá pessoal,
Como disse estou desesperado para solucionar um problema que deve ser resolvido urgentemente.
Eu gostaria de saber como redimensionar uma imagem!
Eu tenho uma imagem salva em c:\imagem_normal.jpg e quero redimensionar para 50x50 e salvar em c:\imagem_redimensionada.jpg
Eu só preciso do codigo de redimensionamento, o de salvar não é necessário.
Agradeço desde já.
Atenciosamente,
Denis Oliveira.
Como disse estou desesperado para solucionar um problema que deve ser resolvido urgentemente.
Eu gostaria de saber como redimensionar uma imagem!
Eu tenho uma imagem salva em c:\imagem_normal.jpg e quero redimensionar para 50x50 e salvar em c:\imagem_redimensionada.jpg
Eu só preciso do codigo de redimensionamento, o de salvar não é necessário.
Agradeço desde já.
Atenciosamente,
Denis Oliveira.
Denisbetim
Curtidas 0
Respostas
Marcelo Saviski
19/11/2003
function Redimensiona(Imagem: TJPEGImage): TJEPGImage; var BMP: TBitMap; begin BMP := TBitmap.Create; BMP.Assign(Imagem); BMP.Canvas.CopyRect(Rect(0, 0, 50, 50), BMP.Canvas, Rect(0, 0, BMP.Width, BMP.Height)); BMP.Width := 50; BMP.Height := 50; Result := TJEPGImage.Create; Result.Assign(BMP); BMP.Free; end;
Usando:
Image1.Picture.Graphic := Redimensiona(Image1.picture.Graphic);
A imagem TEM que ser JPEG
espero que funcione pq não testei :)
GOSTEI 0
Beppe
19/11/2003
Eu escrevi duas funções: a primeira é só para TBitmap e a segunda eu generalizei para TGraphic. Para esta última, como TGraphic não dispõe de canvas, tive que criar um bitmap temporário e depois converter para a mesma classe do original.
PS: não testei nenhuma.
function ResizeBitmap(Original: TBitmap; ToWidth, ToHeight: Integer): TBitmap; begin Result := TBitmap.Create; Result.Width := ToWidth; Result.Height := ToHeight; Result.Canvas.StretchDraw(Rect(0, 0, ToWidth, ToHeight), Original); end; function ResizeGraphic(Original: TGraphic; ToWidth, ToHeight: Integer): TGraphic; var Temp: TBitmap; begin Temp := TBitmap.Create; try Temp.Width := ToWidth; Temp.Height := ToHeight; Temp.Canvas.StretchDraw(Rect(0, 0, ToWidth, ToHeight), Original); Result := TGraphic(Original.ClassType.Create); Result.Assign(Temp); finally Temp.Free; end; end;
PS: não testei nenhuma.
GOSTEI 0