# Image test - image manipulation use strict; use warnings; use 5.014; package MyForm; # ----------------------------------------- package MyForm:: use strict; use warnings; use Wx qw[:everything]; use Wx::Event qw(EVT_BUTTON ); use parent -norequire, 'Wx::Frame'; use Wx qw(:id :toolbar :statictext wxNullBitmap wxDefaultPosition wxDefaultSize wxNullBitmap wxTB_VERTICAL wxSIZE wxBITMAP_TYPE_ANY wxBITMAP_TYPE_BMP); sub new { #1 --------------------------- new MyForm:: my $class = shift; my %parms = @_; my $self = $class->SUPER::new( undef, -1, 'Image test', wxDefaultPosition, # position wxDefaultSize, # size ); my ( $img, $sb, $sizer); my $panel = Wx::Panel->new( $self, -1, # parent window, ID wxDefaultPosition, wxDefaultSize); $panel->SetBackgroundColour(Wx::Colour->new('light blue')); my $welcome = Wx::StaticText->new($panel, -1, 'Welcome to Image test', [150, 250], [-1, -1], wxALIGN_CENTER); $sizer = Wx::BoxSizer->new(wxVERTICAL); $img = Wx::Image->new($parms{image_fname}, wxBITMAP_TYPE_ANY); $sb = Wx::StaticBitmap->new($panel, -1, Wx::BitmapFromImage->new($img)); $sizer->Add( $welcome, 0, wxALL | wxEXPAND, 5 ); $sizer->Add( $sb, 0, wxALL | wxEXPAND, 5 ); $panel->SetSizer($sizer); $panel->Fit; return $self; } #1 end sub new MyForm:: 1; # end package MyForm package main; # ----------------------------- package main:: use strict; use warnings; use 5.014; my $image_file = 'D:\My Documents\Media\Photography\IMG_8053.JPG'; my $app = Wx::SimpleApp->new; my $frame = MyForm->new( image_fname => $image_file); $frame->Show(1); $app->MainLoop; 1;