![]() |
AW: Laden eines .webp Bildes?
Mit der
![]() Zumindest bringt es laut beschreibung alles für FMX CrossPlatform mit. |
AW: Laden eines .webp Bildes?
Zitat:
|
AW: Laden eines .webp Bildes?
Zitat:
Zitat:
|
AW: Laden eines .webp Bildes?
Zitat:
|
AW: Laden eines .webp Bildes?
Hmm..
Ich glaube mit nativ Pascal wird das nichts... Aber: Die Tools unter ![]() herunterladen und dann kann per Commandozeilen Tool 'dwebp' das WebP dekodiert werden. ( ![]() Einfach per ShellExec mit den richtigen Parametern füttern und Du hast zu mindestens PNG, TIFF oder BMP. Auch ist es möglich, per stdin das webp als Daten (ohne Zwischenspeicherung als Datei) zu übergeben und ebenso per Stdout wieder als Data zurück zu bekommen. Hinweis: 'Precompiled WebP utilities and library for Linux, Windows and macOS / Precompiled WebP framework for iOS' Somit sollte es auch unter anderen OS funktionieren. |
AW: Laden eines .webp Bildes?
Zitat:
![]() |
AW: Laden eines .webp Bildes?
Also ich würde dass im Zweifel mit
![]() Einfach mal ausprobieren, das ist relatin simpel einzubinden und ist notfalls auf allen Plattformen verfügbar. |
AW: Laden eines .webp Bildes?
Ja, mit Skia funktioniert das gut, das habe ich selbst schon ausprobiert, und es läuft auf allen Plattformen, die Delphi selbst unterstützt.
|
AW: Laden eines .webp Bildes?
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:
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.
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; |
AW: Laden eines .webp Bildes?
Der Webbrowser achtet auf den ContentType (image/jpeg), nicht auf den Namen (Dateierweiterung).
Aber meißtens gehen die davon aus, dass eh alle Webdesigner nichtskönnende Schlampen sind, und schaut sich den Dateiinhalt an, also was wirklich da drin ist. TImage/TGraphic hatte früher auch immer nur auf die Dateiendung geachtet. Daher mußte man bei Streams selbst dafür sorgen, dass die richtige Graphics-Klasse geladen ist. ABER jetzt schauen die nach, was wirklich drin ist (zumindestens werden die 4 MagicBytes angesehn) ... drum kann man nun auch Image1.Picture.LoadFromStream nutzen, sowie TDBImage mit unterschiedlichen Bildformaten im BLOB (Stream). TWICImage (Windows Imaging Component ) macht auch sowas (Inhalt ansehn). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz