AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Laden eines .webp Bildes?

Ein Thema von softtouch · begonnen am 4. Jul 2022 · letzter Beitrag vom 16. Nov 2022
Antwort Antwort
Benutzerbild von softtouch
softtouch

Registriert seit: 13. Feb 2015
Ort: Kerpen
237 Beiträge
 
Delphi 12 Athens
 
#1

AW: Laden eines .webp Bildes?

  Alt 4. Jul 2022, 17:01
Mit der skia4delphi API sollte dies möglich sein.
Zumindest bringt es laut beschreibung alles für FMX CrossPlatform mit.
Schon, aber das ist overkill und ich will auf keinen Fall abhängig von irgendwelchen 3rd. Party Komponenten sein. Damit bin ich schon mehrmals auf die Nase gefallen.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Laden eines .webp Bildes?

  Alt 5. Jul 2022, 13:21
Schon, aber das ist overkill und ich will auf keinen Fall abhängig von irgendwelchen 3rd. Party Komponenten sein. Damit bin ich schon mehrmals auf die Nase gefallen.
Dann bin ich mir nicht sicher was du willst. Das einzige was dir sonst noch übrig bleibt ist das ganze selbst anzupacken:
https://developers.google.com/speed/webp/
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.174 Beiträge
 
Delphi 12 Athens
 
#3

AW: Laden eines .webp Bildes?

  Alt 5. Jul 2022, 14:00
Also ich würde dass im Zweifel mit Delphi4Skia machen, das unterstützt WebP.
Einfach mal ausprobieren, das ist relatin simpel einzubinden und ist notfalls auf allen Plattformen verfügbar.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.960 Beiträge
 
Delphi 12 Athens
 
#4

AW: Laden eines .webp Bildes?

  Alt 5. Jul 2022, 14:26
Ja, mit Skia funktioniert das gut, das habe ich selbst schon ausprobiert, und es läuft auf allen Plattformen, die Delphi selbst unterstützt.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
655 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Laden eines .webp Bildes?

  Alt 5. Jul 2022, 14:39
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.

Geändert von Rolf Frei ( 5. Jul 2022 um 14:42 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.372 Beiträge
 
Delphi 12 Athens
 
#6

AW: Laden eines .webp Bildes?

  Alt 5. Jul 2022, 15:17
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).
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.174 Beiträge
 
Delphi 12 Athens
 
#7

AW: Laden eines .webp Bildes?

  Alt 5. Jul 2022, 16:51
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.
Interessant, wenn das geht wäre das ja super.
Bist Du denn sicher dass WebP da standardmäßig im Windows unterstützt wird (is ja immerhin von Google) ?
Vielleicht hast Du irgendwo einen Link zu WICImage, mit der Liste der Formate,
ich vermute aber dass man dafür noch irgendeine Extension installieren muss, oder nicht ?
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Laden eines .webp Bildes?

  Alt 5. Jul 2022, 17:06
Vielleicht hast Du irgendwo einen Link zu WICImage
@Rollo
Einfach mal bei Microsoft als Anlaufstelle reinschauen, aber es wäre für seinen Zweck (FMX) absolut unpassend.

@TE
CLI Tools in Resource packen und je nach OS "entpacken" und nutzen wäre praktikabel.
WebBrowser (und evtl sogar eine Online-Konvertierung) wäre praktikabel.
Api die FMX unterstützt (wie Skia...) oder direkt die WebP-Library einbinden und nutzen.

Das Du Libraries die das machen was Du möchtest als Overkill abstempelst, okay, ist ja kein Zwang das zu nutzen, aber ich bin gespannt wie Du dieses Problem löst.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:00 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