Fórum reduzir imagem JPG no Firemonkey #575025

16/02/2017

0

Alguém sabe como faço no Firemonkey para abrir uma imagem JPG salva no disco, reduzir as dimensões e salvar novamente com o tamanho reduzido?

No VCL havia conseguido fazer utilizando um exemplo que copiei de algum forum, porém quando migro para o Firemonkey não aceita incluir no USES o "Jpeg"
Flavio Candido

Flavio Candido

Responder

Posts

19/02/2017

Vtrx

Experimente,no Uses,acrescentar Vcl.Imaging.jpeg.
Responder

Gostei + 0

06/03/2017

Flavio Candido

valeu colega pela dica, acrescentei no USES conforme indicou, resolveu em partes mas ainda continuo não conseguindo rodar a função abaixo onde passo uma imagem com as dimensões desejas e é retornada redimensionada, podendo assim carregar no formulário ou salva-la em disco.


function TfrmAlbuns.CAPAS_REDU(IMG: TGraphic; W, H: Integer;
Tipo: TGraphicClass): TGraphic;
var
B: TBitmap;
begin
B := TBitmap.Create;
try
BMP.Width := W;
BMP.Height := H;
BMP.Canvas.StretchDraw(Rect(0, 0, W, H), IMG);
if Tipo = nil then
Result := TGraphic(IMG.ClassType.Create)
else
Result := Tipo.Create;
Result.Assign(BMP);
finally
B.Free;
end;
end;

se alguém puder dar alguma dica ou outro exemplo de função para reduzir imagens e salva-las em disco ou carregar em outro componente.
Responder

Gostei + 0

08/03/2017

Flavio Candido

RESOLVIDO:

segue função

function CAPAS_REDUZ(ORIG,DEST:string; const fWidth, fHeight: integer):Boolean;
var pTemp: TBitmap;
begin
try
try
pTemp := nil;
ptemp := TBitmap.Create;
pTemp.LoadFromFile(ORIG);
if (pTemp.Width > fWidth) or (pTemp.Height > fHeight) then
begin
pTemp := pTemp.CreateThumbnail(fWidth,fHeight);
pTemp.SaveToFile(DEST);
end
else
CopyFile(PChar(ORIG), PChar(DEST), true);
result := true;
finally
FreeAndNil(pTemp);
end;
except
FreeAndNil(pTemp);
result := false;
end;
end;
Responder

Gostei + 0

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

Aceitar