GARANTIR DESCONTO

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.


Denisbetim

Denisbetim

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.
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

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar