Seite 1 von 1

PNG aus Datenbank direkt ins Webgadget ?

Verfasst: 30.08.2017 11:34
von PureWalt
Hallo,
möchte ein paar Fotos aus einer SQLite-DB über ein WebGadget anzeigen.
Meine Lösung funktioniert zwar, ist aber sehr umständlich. Wer weiß Rat ?
.
.

Code: Alles auswählen

DatabaseQuery(#DBID,"SELECT * FROM Sammlung WHERE Ort=Kapstadt;")     ; Beispiel
NextDatabaseRow(#DBID)      									
length=DatabaseColumnSize(#DBID ,3)       						    ; in der 4.Spalte ist das Foto	
If length>0
    *buffer=AllocateMemory(length)    
    GetDatabaseBlob(#DBID ,3,*buffer,length)   					 
    ; buffer -> Datei										            ; ab hier wird es umständlich: 
    CreateFile(#TMP,"Temp.png")								            ; wie übergebe ich den Puffer "direkt" an das Webgadget
    WriteData(#TMP,*buffer,length)							            ; ohne ihn erst in eine Datei "auszulagern" ? 
    CloseFile(#TMP)    
    FreeMemory(*buffer)
    WebGadget(#WEBG,0, 0, xwert, ywert,"Temp.png")					
ENDIF
.
.
1000 Dank schon mal.
LG PureWalt

__________________________________________________
Code-Tags hinzugefügt
30.08.2017
RSBasic

Re: PNG aus Datenbank direkt ins Webgadget ?

Verfasst: 30.08.2017 11:39
von RSBasic
Warum möchtest du das Bild in einem WebGadget anzeigen lassen? Ging das mit einem ImageGadget auch? Wenn ja, dann kannst du die aus der Datenbank geladene Grafik direkt anzeigen, ohne vorher auf die Festplatte schreiben zu müssen.
Bei WebGadget besteht höchstens die Möglichkeit, dass du den Inhalt der Grafik aus der Datenbank in einen Base64-String konvertierst und diesen in einem Img-Tag anzeigst.
Beispiel:

Code: Alles auswählen

<img width="32" height="32" src="data:image/gif;base64,...">

Re: PNG aus Datenbank direkt ins Webgadget ?

Verfasst: 01.09.2017 12:03
von PureWalt
Danke schon mal für die Idee - ja, ImageGadget müsste auch funktionieren. Wie lade ich denn das Foto aus der SQLite DB in das ImageGadget? LoadImage erwartet doch (auch) einen Dateinamen?

Re: PNG aus Datenbank direkt ins Webgadget ?

Verfasst: 01.09.2017 12:06
von mk-soft
PB-Help!
Result = CatchImage(#Image, *MemoryAddress [, Size])

Re: PNG aus Datenbank direkt ins Webgadget ?

Verfasst: 01.09.2017 12:44
von PureWalt
nochmals 1000 Dank !

Re: PNG aus Datenbank direkt ins Webgadget ?

Verfasst: 01.09.2017 13:50
von ts-soft
Hier noch ein kleines Tutorial, etwas älter aber sollte im grossen und ganzen noch funktionieren:
http://www.purebasic.fr/german/viewtopi ... 89#p293989

Auf jeden Fall siehste Catchimage im zusammenhang mit Blob! (Zweiter Teil)

Re: PNG aus Datenbank direkt ins Webgadget ?

Verfasst: 01.09.2017 20:48
von Bisonte
ts-soft hat geschrieben:Hier noch ein kleines Tutorial, etwas älter aber sollte im grossen und ganzen noch funktionieren:
http://www.purebasic.fr/german/viewtopi ... 89#p293989

Auf jeden Fall siehste Catchimage im zusammenhang mit Blob! (Zweiter Teil)
Das Ding dient mir auch immer wieder als Vorlage :allright: