X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b068dfe2926a71c0666587d534e9fee76abc90e1..b9efe021b554fa3967d1442cf758435c5cd5ae8f:/samples/image/image.cpp?ds=sidebyside diff --git a/samples/image/image.cpp b/samples/image/image.cpp index c1e36cc753..a0f10192d2 100644 --- a/samples/image/image.cpp +++ b/samples/image/image.cpp @@ -81,6 +81,9 @@ public: wxBitmap *my_square; wxBitmap *my_anti; + wxBitmap *my_horse_asciigrey_pnm; + wxBitmap *my_horse_rawgrey_pnm; + int xH, yH ; int m_ani_images ; @@ -321,9 +324,9 @@ public: { // note that RGB must be premultiplied by alpha unsigned a = (Data::Iterator::ChannelType)((x*255.)/REAL_SIZE); - p.Red() = r * alpha / 256; - p.Green() = g * alpha / 256; - p.Blue() = b * alpha / 256; + p.Red() = r * a / 256; + p.Green() = g * a / 256; + p.Blue() = b * a / 256; p.Alpha() = a; ++p; // same as p.OffsetX(1) @@ -410,6 +413,9 @@ MyCanvas::MyCanvas( wxWindow *parent, wxWindowID id, my_square = (wxBitmap*) NULL; my_anti = (wxBitmap*) NULL; + my_horse_asciigrey_pnm = (wxBitmap*) NULL; + my_horse_rawgrey_pnm = (wxBitmap*) NULL; + m_ani_images = 0 ; SetBackgroundColour(* wxWHITE); @@ -506,6 +512,20 @@ MyCanvas::MyCanvas( wxWindow *parent, wxWindowID id, wxLogError(wxT("Can't load PNM image")); else my_horse_pnm = new wxBitmap( image ); + + image.Destroy(); + + if ( !image.LoadFile( dir + _T("horse_ag.pnm"), wxBITMAP_TYPE_PNM ) ) + wxLogError(wxT("Can't load PNM image")); + else + my_horse_asciigrey_pnm = new wxBitmap( image ); + + image.Destroy(); + + if ( !image.LoadFile( dir + _T("horse_rg.pnm"), wxBITMAP_TYPE_PNM ) ) + wxLogError(wxT("Can't load PNM image")); + else + my_horse_rawgrey_pnm = new wxBitmap( image ); #endif #if wxUSE_LIBTIFF @@ -622,6 +642,8 @@ MyCanvas::~MyCanvas() delete my_smile_xbm; delete my_square; delete my_anti; + delete my_horse_asciigrey_pnm; + delete my_horse_rawgrey_pnm; } void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) ) @@ -675,6 +697,14 @@ void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) ) dc.DrawText( _T("PNM handler"), 30, 1285 ); if (my_horse_pnm && my_horse_pnm->Ok()) dc.DrawBitmap( *my_horse_pnm, 30, 1300 ); + + dc.DrawText( _T("PNM handler (ascii grey)"), 280, 1285 ); + if (my_horse_asciigrey_pnm && my_horse_asciigrey_pnm->Ok()) + dc.DrawBitmap( *my_horse_asciigrey_pnm, 280, 1300 ); + + dc.DrawText( _T("PNM handler (raw grey)"), 530, 1285 ); + if (my_horse_rawgrey_pnm && my_horse_rawgrey_pnm->Ok()) + dc.DrawBitmap( *my_horse_rawgrey_pnm, 530, 1300 ); dc.DrawText( _T("TIFF handler"), 30, 1515 ); if (my_horse_tiff && my_horse_tiff->Ok()) @@ -868,10 +898,10 @@ void MyCanvas::CreateAntiAliasedBitmap() enum { - ID_QUIT = 108, - ID_ABOUT, - ID_NEW, - ID_SHOWRAW + ID_QUIT = wxID_EXIT, + ID_ABOUT = wxID_ABOUT, + ID_NEW = 100, + ID_SHOWRAW = 101 }; IMPLEMENT_DYNAMIC_CLASS( MyFrame, wxFrame )