Fonte: www.activedelphi.com.br
Esta dica mostra uma função que converte um arquivo BMP em um arquivo JPG, mostrando também como fazer a compacatação do arquivo ajustando o nível de qualidade da imagem. Primeiro, vamos adicionar a unit JPEG ao uses do formulário.
Agora, façamos a seguinte função:
function BmpToJpg(cImage: String): Boolean;
var
MyJPEG: TJPEGImage;
MyBMP : TBitmap;
begin
Result := False;
if fileExists(cImage + '.bmp') then
begin
MyBMP := TBitmap.Create;
with MyBMP do
try
LoadFromFile(cImage + '.bmp');
MyJPEG := TJPEGImage.Create;
with MyJPEG do
begin
Assign(MyBMP);
//"Descomente" e ajuste as linhas abaixo para compactar a imagem, o que
//poderá perder qualidade mas ajudará a diminuir o tamanho do arquivo
//CompressionQuality := 75; //min. 1 - max. 100
//Compress;
SaveToFile(cImage + '.jpeg');
Free;
Result := True;
end;
finally
Free;
end;
end;
end;
E para testar, supondo que haja um arquivo chamado ImagemTeste.BMP no diretório raiz C:\, basta fazer:
procedure TForm1.Button1Click(Sender: TObject);
begin
BmpToJpg('C:\ImagemTeste');
end;
Esta dica mostra uma função que converte um arquivo BMP em um arquivo JPG, mostrando também como fazer a compacatação do arquivo ajustando o nível de qualidade da imagem. Primeiro, vamos adicionar a unit JPEG ao uses do formulário.
Agora, façamos a seguinte função:
function BmpToJpg(cImage: String): Boolean;
var
MyJPEG: TJPEGImage;
MyBMP : TBitmap;
begin
Result := False;
if fileExists(cImage + '.bmp') then
begin
MyBMP := TBitmap.Create;
with MyBMP do
try
LoadFromFile(cImage + '.bmp');
MyJPEG := TJPEGImage.Create;
with MyJPEG do
begin
Assign(MyBMP);
//"Descomente" e ajuste as linhas abaixo para compactar a imagem, o que
//poderá perder qualidade mas ajudará a diminuir o tamanho do arquivo
//CompressionQuality := 75; //min. 1 - max. 100
//Compress;
SaveToFile(cImage + '.jpeg');
Free;
Result := True;
end;
finally
Free;
end;
end;
end;
E para testar, supondo que haja um arquivo chamado ImagemTeste.BMP no diretório raiz C:\, basta fazer:
procedure TForm1.Button1Click(Sender: TObject);
begin
BmpToJpg('C:\ImagemTeste');
end;
Nenhum comentário:
Postar um comentário