Salut,
Alors moi je te propose une fontion qui transforme en BMP quand il est en JPEG et en JPEG si le fichier est un BMP
Au préalable j'ai charger tous mes fichiers images dans une listbox
procedure TForm1.ConvertBMPJPEG;
var
iIndice : integer;
Bmp : TBitmap;
Jpeg: TJpegImage;
begin
for iIndice := 0 to ListBox1.Count-1 do
begin
Bmp := TBitmap.Create;
Jpeg := TJpegImage.Create;
// Si c'est un BMPalors on le converti en JPEG
if UpperCase(ExtractFileExt(ListBox1.Items.Strings[iIndice])) = '.BMP' then
begin
Bmp.LoadFromFile(ListBox1.Items.Strings[iIndice]);
Jpeg.Assign(Bmp);
Jpeg.CompressionQuality := 50;
// Posibilité de mettre une trackbar pour définir la valeur par defaut je l'ai fixée a 50
Jpeg.SaveToFile(ChangeFileExt(ListBox1.Items.Strings[iIndice],'.jpg'));
end
// Si c'est un JPEG alors on le converti en BMP
else if UpperCase(ExtractFileExt(ListBox1.Items.Strings[iIndice])) = '.JPG' then
begin
Jpeg.LoadFromFile(ListBox1.Items.Strings[iIndice]);
Bmp.Assign(Jpeg);
Bmp.SaveToFile(ChangeFileExt(ListBox1.Items.Strings[iIndice],'.bmp'));
end;
Bmp.Free;
Jpeg.Free;
end;
ListBox1.Items.Clear;
end;
Evidemment si on veut faire que de la conversion en BMP ou en JPEG il suffit de retirer le bout de code correspondant
Bonne Prog