Aber dafür könnte man auch einfach die Delphi Klasse TWICImage (Kapselung der Windows Imaging Component) nutzen. Ok, ist nur für Windows, aber damit konvertiere ich massenweise WEBP Bilder.
Delphi-Quellcode:
FWICImage := TWICImage.Create;
try
FWICImage.LoadFromFile(ImagesDir + ImgName + '_tmp.jpg');
DoConvert := FWICImage.ImageFormat <> wifJpeg;
if DoConvert then
begin
FWIcImage.ImageFormat := wifJpeg;
FWICImage.SaveToFile(ImagesDir + ImgName);
end;
finally
FWICImage.Free;
end;
Hier in meinem Fall liegen die Bilder aber mit der Endung Jpg vor, obwohl es WEBP Bilder sind. Interessanter Weise hat der Webbrowser damit kein Problem. Mein Programm aber weldete ständig JPEG Fehler. Nach Analyse was da los ist, habe ich herausgefunden, dass das nicht JPG's sondern WEBP Bilder mit der Endung jpg sind. Teilsweise liegen die Bilder als JPG voer teilweise als WEBP, daher die Überprüfung in der Konvertierungroutine. Die TWICImage Klasse kann diese Dateien auch problemlos lesen und konvertieren.