Leser: 19
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 );
1
2
3
4
5
my $IMG = $this->{DB}->SelectImage( );
my $Image = Wx::Image->new( );
$Image->SetData( $IMG )
1
2
3
my $IMG = $this->{DB}->SelectImage( );
my $Image = Wx::Image->new( $IMG, wxBITMAP_TYPE_JPEG );
1
2
3
4
5
6
7
8
9
10
11
12
local($/) = undef;
my $File;
open $File, "<PATH";
binmode $File;
my $IMG = <$File>;
close $File;
my $Image = Wx::Image->new( $IMG, wxBITMAP_TYPE_JPEG );
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
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
1 2 3 4 5 6 7
my $IMG = $DB-> get ...; Wx::FileSystem::AddHandler( Wx::MemoryFSHandler->new ); Wx::MemoryFSHandler::AddBinaryFile( 'photo.jpg', $IMG); Wx::InitAllImageHandlers(); my $imgr = Wx::Image->new('bg.jpg', wxBITMAP_TYPE_JPEG ); my $imgm = Wx::Image->new('memory:photo.jpg', wxBITMAP_TYPE_JPEG);
1 2 3 4 5 6 7 8 9 10 11
my $IMG = $this->{DB}->SelectImage; Wx::FileSystem::AddHandler( Wx::MemoryFSHandler->new ); Wx::InitAllImageHandlers(); Wx::MemoryFSHandler::AddBinaryFile( 'photo.jpg', $IMG); my $fs = Wx::FileSystem->new( ); my $File = $fs->OpenFile( 'memory:photo.jpg' ); # Funktioniert alles print $File->GetMimeType; # sogar den Mime-Typ erkannt: image/jpeg my $imgm = Wx::Image->new('memory:photo.jpg', wxBITMAP_TYPE_JPEG);
1 2 3 4 5 6 7 8 9 10
my $IMG = $this->{DB}->SelectImage; my $InternFH; open $InternFH, "<", \$IMG; my $Image = Wx::Image->new( ); $Image->LoadStreamType( $InternFH, wxBITMAP_TYPE_JPEG ); close $InternFH;
perl -MWx -le"print for sort keys %Wx::Image::"