%name(ImageFromStream) wxImage(wxInputStream& stream, long type = wxBITMAP_TYPE_ANY, int index = -1);
%name(ImageFromStreamMime) wxImage(wxInputStream& stream, const wxString& mimetype, int index = -1 );
%extend {
- %name(EmptyImage) wxImage(int width=0, int height=0, bool clear = True) {
+ %name(EmptyImage) wxImage(int width=0, int height=0, bool clear = true) {
if (width > 0 && height > 0)
return new wxImage(width, height, clear);
else
return NULL;
}
memcpy(copy, data, width*height*3);
- return new wxImage(width, height, copy, False);
+ return new wxImage(width, height, copy, false);
+ }
+ %name(ImageFromDataWithAlpha) wxImage(int width, int height,
+ unsigned char* data, unsigned char* alpha) {
+ // Copy the source data so the wxImage can clean it up later
+ unsigned char* dcopy = (unsigned char*)malloc(width*height*3);
+ if (dcopy == NULL) {
+ PyErr_NoMemory();
+ return NULL;
+ }
+ memcpy(dcopy, data, width*height*3);
+ unsigned char* acopy = (unsigned char*)malloc(width*height);
+ if (acopy == NULL) {
+ PyErr_NoMemory();
+ return NULL;
+ }
+ memcpy(acopy, alpha, width*height);
+
+ return new wxImage(width, height, dcopy, acopy, false);
}
}
nothing.", "");
+ DocDeclStr(
+ bool , ConvertColourToAlpha( unsigned char r, unsigned char g, unsigned char b ),
+ "This method converts an image where the original alpha information is
+only available as a shades of a colour (actually shades of grey)
+typically when you draw anti-aliased text into a bitmap. The DC
+drawing routines draw grey values on the black background although
+they actually mean to draw white with differnt alpha values. This
+method reverses it, assuming a black (!) background and white text.
+The method will then fill up the whole image with the colour given.", "");
+
+
// Set image's mask to the area of 'mask' that has <mr,mg,mb> colour
bool SetMaskFromImage(const wxImage & mask,
unsigned char* dataPtr;
if (! PyString_Check(data)) {
- PyErr_SetString(PyExc_TypeError, "Expected string object");
+ wxPyBLOCK_THREADS(PyErr_SetString(PyExc_TypeError,
+ "Expected string object"));
return /* NULL */ ;
}
unsigned char GetMaskRed();
unsigned char GetMaskGreen();
unsigned char GetMaskBlue();
- void SetMask( bool mask = True );
+ void SetMask( bool mask = true );
bool HasMask();
wxImage Rotate(double angle, const wxPoint & centre_of_rotation,
- bool interpolating = True, wxPoint * offset_after_rotation = NULL) const ;
- wxImage Rotate90( bool clockwise = True ) ;
- wxImage Mirror( bool horizontally = True ) ;
+ bool interpolating = true, wxPoint * offset_after_rotation = NULL) const ;
+ wxImage Rotate90( bool clockwise = true ) ;
+ wxImage Mirror( bool horizontally = true ) ;
void Replace( unsigned char r1, unsigned char g1, unsigned char b1,
unsigned char r2, unsigned char g2, unsigned char b2 );
MustHaveApp(ConvertToMonoBitmap);
%extend {
- wxBitmap ConvertToBitmap() {
- wxBitmap bitmap(*self);
+ wxBitmap ConvertToBitmap(int depth=-1) {
+ wxBitmap bitmap(*self, depth);
return bitmap;
}