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, 12:48
Hier gibt es eine Bibliothek : https://github.com/Wykerd/delphi-webp
Sind auch Beispiele da, die Dir zeigen, wie es geht
Danke, das ist leider nur VCL. Ich muss eine Crossplatform Lösung finden (Windows, Mac, Linux, Android etc.), somit suche ich nacheiner reinen Pascal Lösung ohne externe Abhängigkeiten.
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
982 Beiträge
 
Delphi 6 Professional
 
#2

AW: Laden eines .webp Bildes?

  Alt 4. Jul 2022, 12:53
Hmmm..

Hier gibt es eine Bibliothek : https://github.com/Wykerd/delphi-webp
Sind auch Beispiele da, die Dir zeigen, wie es geht
Danke, das ist leider nur VCL. Ich muss eine Crossplatform Lösung finden (Windows, Mac, Linux, Android etc.), somit suche ich nacheiner reinen Pascal Lösung ohne externe Abhängigkeiten.


Ich denke ohne libwebp Lib wird es nicht gehen, es gibt keine 'reine' Pascal Implementation.
unter
https://github.com/bgrabitmap/webp

ist eine Lazarus Version, zumindestens für Win32/64/Unix....
(Ja ich Verwende Delphi 6 Pro und will NICHT wechseln!)
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
711 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Laden eines .webp Bildes?

  Alt 4. Jul 2022, 13:20
Die Lib selber kann man laut google für verschiedene Plattformen übersetzen. (Es gibt schon fertiges für Linux, Windows and macOS)
WEBP Sources
Du musst dann nur pro Plattform sehen welche lib du verwedest.

Ich glaube nicht das sich jemand antut alles nach Pascal zu übersetzen und es aktuell zu halten.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Laden eines .webp Bildes?

  Alt 4. Jul 2022, 14:27
Als .obj kompiliert, zusammen mit einer Pascal-Header-Unit (ähnlich einer Unit für DLL-Imports),
ließe es sich auch in die EXE einkompilieren linken.

siehe z.B. ZLib/Zip, Jpeg, PNG und RegEx im Delphi.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
711 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Laden eines .webp Bildes?

  Alt 4. Jul 2022, 14:40
Geht das Multiplattform? Ich habe .lib mal verwendet um V2M Dateien abspielen zu können. Aber nur unter Windows 32. Ich denke nicht das das einfach so für 64Bit / Linux / ARM geht.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Laden eines .webp Bildes?

  Alt 4. Jul 2022, 15:12
Je nach Platform braucht man eine andere "LIB",
da Diese ja vorkompiliert sind und demnach nur für je eine Platform möglich sind.


Also ob man das statisch oder dynamisch linkt (gegen eine DLL/Library-Datei)
oder ob man das in die Anwendung einkompilier/linkt (den Code importiert).

Teilweise gibt es in einigen OS bereits etwas, was man direkt verwenden kann.
z.B. denke ich mal, dass webp im Android enthalten sein wird und man da Funktionen via Java aufrufen könnte.

bekanntes Beispiel: im Windows greift man direkt auf die Webcam zu und nutzt irgendeine Barcode-Lib,
aber im Android/iOS könnte man auch eine Action der Camera-App ansprechen und sich von ihr den Barcode geben lassen.

z.B.
hier wird nur für Win32 oder Win64 etwas "in die EXE gelinkt", während bei den anderen Compilern nur gegen eine entsprechende LIB ge-/verlinkt wird (welche vermutlich von Delphi mitgegeben wird).
Zitat:
Delphi-Quellcode:
{$IFDEF MACOS}
  {$IF defined(CPUARM)}
    {$IFDEF IOS}   //IOS devices
    PU = '';
    LIBPCRE = 'libpcre.a';
    {$DEFINE STATIC_LIB}
    {$ELSE}        //OSX
    PCRELib = '/usr/lib/libpcre.dylib';
    {$DEFINE DYNAMIC_LIB}
    {$ENDIF}
  {$ELSE}
    {$IFDEF IOS}   //IOS Simulator
    PCRELib = 'libpcre.dylib';
    {$ELSE}        //OSX
    PCRELib = '/usr/lib/libpcre.dylib';
    {$ENDIF}
    {$DEFINE DYNAMIC_LIB}
  {$ENDIF}
{$ENDIF MACOS}
{$IFDEF LINUX}
  PU = '';
{$IFDEF PIC}
  LIBPCRE = 'libpcre_PIC.a';
{$ELSE  PIC}
  LIBPCRE = 'libpcre.a';
{$ENDIF PIC}
  {$DEFINE STATIC_LIB}
{$ENDIF LINUX}
{$IFDEF MSWINDOWS}
  {$IFDEF CPUX86}
  PU = '_';
  {$ELSE}
  PU = '';
  {$ENDIF}
{$ENDIF}
{$IFDEF ANDROID}
  PU = '';
  LIBPCRE = 'libpcre.a';
  {$DEFINE STATIC_LIB}
{$ENDIF ANDROID}
{$IFDEF PCRE16}
  PCREname = 'pcre16_';
{$ELSE}
  PCREname = 'pcre_';
{$ENDIF}
{$EXTERNALSYM PCREname}

{$IFDEF NEXTGEN}
 {$NODEFINE pcre_study}
 {$NODEFINE pcre_compile}
 {$NODEFINE pcre_compile2}
{$ENDIF}

...

{$IF Declared(PCRELib)}
var
  _PCRELib: THandle;
{$ENDIF}

{$IFDEF MSWINDOWS}
  {$IFDEF PCRE16}
    {$IF Defined(Win32)}
      {$L pcre16_study.obj}
      {$L pcre16_compile.obj}
      {$L pcre16_config.obj}
      {$L pcre16_dfa_exec.obj}
      {$L pcre16_exec.obj}
      {$L pcre16_fullinfo.obj}
      {$L pcre16_get.obj}
      {$L pcre16_maketables.obj}
      {$L pcre16_newline.obj}
      {$L pcre16_ord2utf16.obj}
      {$L pcre16_refcount.obj}
      {$L pcre16_tables.obj}
      {$L pcre16_string_utils.obj}
      {$L pcre16_ucd.obj}
      {$L pcre16_valid_utf16.obj}
      {$L pcre16_version.obj}
      {$L pcre16_xclass.obj}
      {$L pcre16_default_tables.obj}
    {$ELSEIF Defined(Win64)}
      {$L pcre16_study.o}
      {$L pcre16_compile.o}
      {$L pcre16_config.o}
      {$L pcre16_dfa_exec.o}
      {$L pcre16_exec.o}
      {$L pcre16_fullinfo.o}
      {$L pcre16_get.o}
      {$L pcre16_maketables.o}
      {$L pcre16_newline.o}
      {$L pcre16_ord2utf16.o}
      {$L pcre16_refcount.o}
      {$L pcre16_string_utils.o}
      {$L pcre16_tables.o}
      {$L pcre16_ucd.o}
      {$L pcre16_valid_utf16.o}
      {$L pcre16_version.o}
      {$L pcre16_xclass.o}
      {$L pcre16_default_tables.o}
    {$ENDIF}
  {$ELSE}
    {$IF Defined(Win32)}
      {$L pcre_study.obj}
      {$L pcre_compile.obj}
      {$L pcre_config.obj}
      {$L pcre_dfa_exec.obj}
      {$L pcre_exec.obj}
      {$L pcre_fullinfo.obj}
      {$L pcre_get.obj}
      {$L pcre_maketables.obj}
      {$L pcre_newline.obj}
      {$L pcre_ord2utf8.obj}
      {$L pcre_refcount.obj}
      {$L pcre_tables.obj}
      {$L pcre_ucd.obj}
      {$L pcre_valid_utf8.obj}
      {$L pcre_version.obj}
      {$L pcre_xclass.obj}
      {$L pcre_default_tables.obj}
    {$ELSEIF Defined(Win64)}
      {$L pcre_study.o}
      {$L pcre_compile.o}
      {$L pcre_config.o}
      {$L pcre_dfa_exec.o}
      {$L pcre_exec.o}
      {$L pcre_fullinfo.o}
      {$L pcre_get.o}
      {$L pcre_maketables.o}
      {$L pcre_newline.o}
      {$L pcre_ord2utf8.o}
      {$L pcre_refcount.o}
      {$L pcre_tables.o}
      {$L pcre_ucd.o}
      {$L pcre_valid_utf8.o}
      {$L pcre_version.o}
      {$L pcre_xclass.o}
      {$L pcre_default_tables.o}
    {$ENDIF}
  {$ENDIF}
{$ENDIF MSWINDOWS}
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 4. Jul 2022 um 15:16 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

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

AW: Laden eines .webp Bildes?

  Alt 4. Jul 2022, 16:01
Mit der skia4delphi API sollte dies möglich sein.
Zumindest bringt es laut beschreibung alles für FMX CrossPlatform mit.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.039 Beiträge
 
Delphi 12 Athens
 
#8

AW: Laden eines .webp Bildes?

  Alt 13. Nov 2022, 09:05
Wie macht das SKIA?
Lt. deren GitHub Projektseite ist da auch webp Unterstützung drin:
https://github.com/skia4delphi/skia4delphi
  Mit Zitat antworten Zitat
Frickler

Registriert seit: 6. Mär 2007
Ort: Osnabrück
624 Beiträge
 
Delphi XE6 Enterprise
 
#9

AW: Laden eines .webp Bildes?

  Alt 16. Nov 2022, 08:43
Wie macht das SKIA?
Lt. deren GitHub Projektseite ist da auch webp Unterstützung drin:
https://github.com/skia4delphi/skia4delphi
Sie binden die Skia-DLL ein. Skia4Delphi ist ein Wrapper.

Allerdings steht in der Doku "Skia4Delphi has its own forked version of Skia with the necessary edits to make the library work". Ist also nicht ganz die Original DLL.
  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 16:41 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