X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bf504f980a2ab2e44ad20efe1f94292943d0dfae..19e30148e18cc99296b26503c155e5cef59045f4:/samples/image/image.cpp?ds=sidebyside diff --git a/samples/image/image.cpp b/samples/image/image.cpp index 57260e265d..262078f92c 100644 --- a/samples/image/image.cpp +++ b/samples/image/image.cpp @@ -138,7 +138,7 @@ public: void OnSave(wxCommandEvent& WXUNUSED(event)) { - wxImage image(m_bitmap); + wxImage image = m_bitmap.ConvertToImage(); int bppselection = wxGetSingleChoiceIndex("Set BMP BPP", "Set BMP BPP", @@ -151,7 +151,7 @@ public: return; } - image.SetOption(wxBMP_FORMAT, bppvalues[bppselection]); + image.SetOption(wxIMAGE_OPTION_BMP_FORMAT, bppvalues[bppselection]); wxString deffilename = bppchoices[bppselection]; deffilename.Replace(wxT(" "), wxT("_")); @@ -173,7 +173,7 @@ public: if ( savefilename.empty() ) return; - if ( image.GetOptionInt(wxBMP_FORMAT) == wxBMP_8BPP_PALETTE ) + if ( image.GetOptionInt(wxIMAGE_OPTION_BMP_FORMAT) == wxBMP_8BPP_PALETTE ) { unsigned char *cmap = new unsigned char [256]; for ( int i = 0; i < 256; i++ ) @@ -183,34 +183,28 @@ public: delete cmap; } - bool saved = FALSE; - + bool loaded; wxString extension = savefilename.AfterLast('.').Lower(); - if (extension == "bmp") - saved=image.SaveFile(savefilename, wxBITMAP_TYPE_BMP); - else if (extension == "png") - saved=image.SaveFile(savefilename, wxBITMAP_TYPE_PNG); - else if (extension == "pcx") - saved=image.SaveFile(savefilename, wxBITMAP_TYPE_PCX); - else if ((extension == "tif") || (extension == "tiff")) - saved=image.SaveFile(savefilename, wxBITMAP_TYPE_TIF); - else if (extension == "jpg") - saved=image.SaveFile(savefilename, wxBITMAP_TYPE_JPEG); - else if (extension == "pnm") - saved=image.SaveFile(savefilename, wxBITMAP_TYPE_PNM); - else if (extension == "ico") - saved=image.SaveFile(savefilename, wxBITMAP_TYPE_ICO); - else if (extension == "cur") - { + if (extension == "cur") + { image.Rescale(32,32); - image.SetOption(wxCUR_HOTSPOT_X, 0); - image.SetOption(wxCUR_HOTSPOT_Y, 0); - saved=image.SaveFile(savefilename, wxBITMAP_TYPE_CUR); - } - else - wxMessageBox("Unknown file type, see options in file selector.", - "Unknown file type", + image.SetOption(wxIMAGE_OPTION_CUR_HOTSPOT_X, 0); + image.SetOption(wxIMAGE_OPTION_CUR_HOTSPOT_Y, 0); + // This shows how you can save an image with explicitly + // specified image format: + loaded = image.SaveFile(savefilename, wxBITMAP_TYPE_CUR); + } + else + { + // This one guesses image format from filename extension + // (it may fail if the extension is not recognized): + loaded = image.SaveFile(savefilename); + } + + if ( !loaded ) + wxMessageBox("No handler for this file type.", + "File was not saved", wxOK|wxCENTRE, this); } @@ -323,7 +317,8 @@ MyCanvas::MyCanvas( wxWindow *parent, wxWindowID id, #if wxUSE_GIF image.Destroy(); - if ( !image.LoadFile( dir + wxString("horse.gif")) ) + if ( !image.LoadFile( dir + wxString("horse.gif"))) + //if ( !image.LoadFile( wxString("\\slidbar.gif"), wxBITMAP_TYPE_GIF, -2) ) wxLogError(wxT("Can't load GIF image")); else my_horse_gif = new wxBitmap( image ); @@ -415,8 +410,8 @@ MyCanvas::MyCanvas( wxWindow *parent, wxWindowID id, else { my_horse_cur = new wxBitmap( image ); - xH = 30 + image.GetOptionInt(wxCUR_HOTSPOT_X) ; - yH = 2420 + image.GetOptionInt(wxCUR_HOTSPOT_Y) ; + xH = 30 + image.GetOptionInt(wxIMAGE_OPTION_CUR_HOTSPOT_X) ; + yH = 2420 + image.GetOptionInt(wxIMAGE_OPTION_CUR_HOTSPOT_Y) ; } #endif @@ -436,6 +431,7 @@ MyCanvas::~MyCanvas() delete my_horse_ico32; delete my_horse_ico16; delete my_horse_ico; + delete my_horse_cur; delete my_smile_xbm; delete my_square; delete my_anti; @@ -516,7 +512,7 @@ void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) ) wxRED_PEN->GetColour().Red(), wxRED_PEN->GetColour().Green(), wxRED_PEN->GetColour().Blue() ); - dc.DrawBitmap( i.ConvertToBitmap(), 150, 2010, TRUE ); + dc.DrawBitmap( wxBitmap(i), 150, 2010, TRUE ); dc.SetTextForeground( wxT("BLACK") ); } @@ -553,7 +549,7 @@ void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) ) wxRED_PEN->GetColour().Red(), wxRED_PEN->GetColour().Green(), wxRED_PEN->GetColour().Blue() ); - dc.DrawBitmap( i.ConvertToBitmap(), 150, 2130, TRUE ); + dc.DrawBitmap( wxBitmap(i), 150, 2130, TRUE ); dc.SetTextForeground( wxT("BLACK") ); } @@ -637,7 +633,7 @@ void MyCanvas::CreateAntiAliasedBitmap() blue = blue/4; anti.SetRGB( x, y, red, green, blue ); } - my_anti = new wxBitmap( anti.ConvertToBitmap() ); + my_anti = new wxBitmap(anti); } // MyFrame @@ -706,7 +702,7 @@ void MyFrame::OnNewFrame( wxCommandEvent &WXUNUSED(event) ) return; } - (new MyImageFrame(this, image.ConvertToBitmap()))->Show(); + (new MyImageFrame(this, wxBitmap(image)))->Show(); } //-----------------------------------------------------------------------------