PNG aus Datenbank direkt ins Webgadget ?

Anfängerfragen zum Programmieren mit PureBasic.
PureWalt
Beiträge: 3
Registriert: 30.08.2017 11:28

PNG aus Datenbank direkt ins Webgadget ?

Beitrag 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
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: PNG aus Datenbank direkt ins Webgadget ?

Beitrag 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,...">
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
PureWalt
Beiträge: 3
Registriert: 30.08.2017 11:28

Re: PNG aus Datenbank direkt ins Webgadget ?

Beitrag 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?
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: PNG aus Datenbank direkt ins Webgadget ?

Beitrag von mk-soft »

PB-Help!
Result = CatchImage(#Image, *MemoryAddress [, Size])
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
PureWalt
Beiträge: 3
Registriert: 30.08.2017 11:28

Re: PNG aus Datenbank direkt ins Webgadget ?

Beitrag von PureWalt »

nochmals 1000 Dank !
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: PNG aus Datenbank direkt ins Webgadget ?

Beitrag 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)
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Re: PNG aus Datenbank direkt ins Webgadget ?

Beitrag 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:
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Antworten