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

pope
 2010-03-22 16:36
#135149 #135149
User since
2009-10-11
30 Artikel
BenutzerIn
[default_avatar]
Also irgendwie hat das alles garnichts gebracht...

Die Verwendung des Virtual FileSystem kann ich für Wx::Image nicht ordentlich anwenden, das ist nur für die HTML-Klassen gedacht.
Ich habs sowohl mit dem MemoryFSHandler, als auch mit derm ZipFSHandler probiert.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Wx::FileSystem::AddHandler( Wx::ZipFSHandler->new() );

my $fs = Wx::FileSystem->new();
my $d = "D:/Workspace/temp/test.zip#zip:1/";
$fs->ChangePathTo( $d, 1 );

my $name = $fs->FindFirst( "*" );

print $name;
# Ausgabe: D:/Workspace/temp/test.zip#zip:1/test.jpg

my $Image = Wx::Image->new( $name, wxBITMAP_TYPE_ANY );
# Nimmt er nicht, er sagt die Datei wäre nicht vorhanden
# das liegt wohl daran, das der mit der Syntax des VFS nicht
# zurecht kommt


Die Alternative ein solches Virtuelles File zu öffnen und dann mit einem Stream darauf zu arbeiten funktioniert auch nicht. Perl stürzt aufgrund von Speicherzugriffsverletzungen ab (das steht nirgends, es sieht aber stark danach aus)

Code: (dl )
1
2
3
4
5
6
7
8
9
10
my $fs = Wx::FileSystem->new();
my $d = "D:/Workspace/temp/test.zip#zip:1/";
$fs->ChangePathTo( $d, 1 );

my $name = $fs->FindFirst( "*" );

my $File = $fs->OpenFile( $name ); # Funktioniert, Datei ist da

my $Image = Wx::Image->new( );
$Image->LoadStreamType( $File->GetStream, wxBITMAP_TYPE_ANY ) # das wars


Scheißdreck aber auch :(

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