Fórum Redimensionar Imagem (Estou desesperado, Ajudem) #196047
19/11/2003
0
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
Curtir tópico
+ 0
Responder
Posts
19/11/2003
Marcelo Saviski
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 :)
Responder
Gostei + 0
19/11/2003
Beppe
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.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)