Thread Datenbank blob Bild in Wx::Image laden (12 answers)
Opened by pope at 2010-03-21 17:47

pope
 2010-03-21 17:47
#135103 #135103
User since
2009-10-11
30 Artikel
BenutzerIn
[default_avatar]
Hi Leute,
ich versuch gerade ein in einer Datenbank abgespeichertes Bild an Wx::Image zu übergeben.
Leider funktioniert das nicht so leicht wie gedacht:

Code: (dl )
1
2
3
4
5
6
7
# Hier kommt ein zuvor im binmode eingelesenes Bild aus
# der Datenbank
my $Image = $DB->SelectImage( 1 );

my WImage = Wx::Image->new( );

WImage->LoadStreamType( $Image, wxBITMAP_TYPE_JPEG );


An dieser Stelle bringt er mir folgenden Fehler
JPEG: Couldn't load - file is probably corrupted
Not a JPEG file: starts with 0xff 0xd9

Das Bild ist auf jedenfall (auch in der Datenbank) korrekt und beginnt mit FF D8, wie es sich für ein JPEG gehört

Normalerweise müsste bei dieser Funktion aber auch ein WxStream übergeben werden, sowas scheint es in wxPerl aber nicht zu geben...
Das einzige was ich gesehen hab ist Wx::Stream::TIEHANDLE. Darüber hab ich aber weder irgendwas dokumentiertes gesehen, noch weiß ich wie das funktionieren soll. ( Das einzige ist: USAGE: Wx::Stream::TIEHANDLE( package, var ) )


Falls hier jemand noch eine andere Idee hat, wie ich das Bild aus der Datenbank zu Wx bekomme bin ich natürlich auch aufgeschlossen.

Datenbank ist übrigens sqlite, aber daran kann es eigentlich nicht liegen. Das Bild kann ich korrekt wieder als File abspeichern.

View full thread Datenbank blob Bild in Wx::Image laden