Bild in SQlite speichern

Anfängerfragen zum Programmieren mit PureBasic.
gnaps
Beiträge: 151
Registriert: 02.09.2008 13:02

Re: Bild in SQlite speichern

Beitrag von gnaps »

Hi Leute,

na Klasse

Code: Alles auswählen

DatabaseUpdate(#ProjektDB, "INSERT INTO adressen (bild) VALUES (?)")
hatte ich bei meinen aller ersten Versuche stehen, da mich das mit dem '?' verwirrt hat
und im SQLite-Browser nichts von einem Bild zu sehen war bin ich davon ausgegangen,
dass die SQL-Anweisung von mir falsch ist. Danach habe ich rumprobiert und rumprobiert
und war am verzweifeln. Dass der SQL-Browser das Bild nicht anzeigen kann, darauf
wäre ich nicht gekommen. Das Ding hat mir eine Falle gestellt.

So, was kommt jetzt ?

2 Tage probieren bis ich das auslesen gebacken bekomme. :cry:

Danke an alle

Gruß
gnaps
PureBasic Vollversion V 5.71 für Windows - Windows 10 (64)
gnaps
Beiträge: 151
Registriert: 02.09.2008 13:02

Re: Bild in SQlite speichern

Beitrag von gnaps »

Hi nochmal ich,

tut sich doch da schon wieder ein Problem auf.

Ich passe ja die Größe von meinem Bild an und gebe dieses an ein ImageGadget weiter (siehe Post 1).

Jetzt steht mein Bild ja in meinem ImageID(2000). Wie bekomme ich dies nun in die SQlite DB.

In den letzten Posts haben wir ja das Bild immer neu geladen.

Code: Alles auswählen

If ReadFile (0,AdresseBild.s)
Hat da jemand eine Idee.

Gruß
gnaps
PureBasic Vollversion V 5.71 für Windows - Windows 10 (64)
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: Bild in SQlite speichern

Beitrag von ts-soft »

Bild speichern damit die notwendigen Header dem Image wieder hinzugefügt werden. Im Speicher fehlen diese Infos.

Ab PB5.10 kannste es auch ohne Speichern lösen, hierzu gibt es die neue Funktion: EncodeImage()

Code: Alles auswählen

UsePNGImageDecoder()
UsePNGImageEncoder()
If LoadImage(0, #PB_Compiler_Home + "Examples\Sources\Data\world.png")
  *mem = EncodeImage(0, #PB_ImagePlugin_PNG)
  Debug *mem
  Debug MemorySize(*mem)
  ; *mem in Datenbank, mit länge MemorySize(*mem)
  ; anschließend Speicher wieder freigeben
  FreeMemory(*mem)
EndIf
Gruß
Thomas
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
Antworten