Version: 3.3.0
image.h File Reference

Classes

class  wxImageHandler
 This is the base class for implementing image file loading/saving, and image creation from data. More...
 
class  wxImage
 This class encapsulates a platform-independent image. More...
 
class  wxImage::RGBValue
 A simple class which stores red, green and blue values as 8 bit unsigned integers in the range of 0-255. More...
 
class  wxImage::HSVValue
 A simple class which stores hue, saturation and value as doubles in the range 0.0-1.0. More...
 
class  wxImageHistogram
 

Macros

#define wxIMAGE_OPTION_QUALITY   wxString("quality")
 Image option names. More...
 
#define wxIMAGE_OPTION_FILENAME   wxString("FileName")
 
#define wxIMAGE_OPTION_RESOLUTION   wxString("Resolution")
 
#define wxIMAGE_OPTION_RESOLUTIONX   wxString("ResolutionX")
 
#define wxIMAGE_OPTION_RESOLUTIONY   wxString("ResolutionY")
 
#define wxIMAGE_OPTION_RESOLUTIONUNIT   wxString("ResolutionUnit")
 
#define wxIMAGE_OPTION_MAX_WIDTH   wxString("MaxWidth")
 
#define wxIMAGE_OPTION_MAX_HEIGHT   wxString("MaxHeight")
 
#define wxIMAGE_OPTION_ORIGINAL_WIDTH   wxString("OriginalWidth")
 
#define wxIMAGE_OPTION_ORIGINAL_HEIGHT   wxString("OriginalHeight")
 
#define wxIMAGE_OPTION_BMP_FORMAT   wxString("wxBMP_FORMAT")
 
#define wxIMAGE_OPTION_CUR_HOTSPOT_X   wxString("HotSpotX")
 
#define wxIMAGE_OPTION_CUR_HOTSPOT_Y   wxString("HotSpotY")
 
#define wxIMAGE_OPTION_GIF_COMMENT   wxString("GifComment")
 
#define wxIMAGE_OPTION_GIF_TRANSPARENCY   wxString("Transparency")
 
#define wxIMAGE_OPTION_GIF_TRANSPARENCY_HIGHLIGHT   wxString("Highlight")
 
#define wxIMAGE_OPTION_GIF_TRANSPARENCY_UNCHANGED   wxString("Unchanged")
 
#define wxIMAGE_OPTION_PNG_FORMAT   wxString("PngFormat")
 
#define wxIMAGE_OPTION_PNG_BITDEPTH   wxString("PngBitDepth")
 
#define wxIMAGE_OPTION_PNG_FILTER   wxString("PngF")
 
#define wxIMAGE_OPTION_PNG_COMPRESSION_LEVEL   wxString("PngZL")
 
#define wxIMAGE_OPTION_PNG_COMPRESSION_MEM_LEVEL   wxString("PngZM")
 
#define wxIMAGE_OPTION_PNG_COMPRESSION_STRATEGY   wxString("PngZS")
 
#define wxIMAGE_OPTION_PNG_COMPRESSION_BUFFER_SIZE   wxString("PngZB")
 
#define wxIMAGE_OPTION_TIFF_BITSPERSAMPLE   wxString("BitsPerSample")
 
#define wxIMAGE_OPTION_TIFF_SAMPLESPERPIXEL   wxString("SamplesPerPixel")
 
#define wxIMAGE_OPTION_TIFF_COMPRESSION   wxString("Compression")
 
#define wxIMAGE_OPTION_TIFF_PHOTOMETRIC   wxString("Photometric")
 
#define wxIMAGE_OPTION_TIFF_IMAGEDESCRIPTOR   wxString("ImageDescriptor")
 
#define wxIMAGE_OPTION_WEBP_QUALITY   wxString("WebPQuality")
 
#define wxIMAGE_OPTION_WEBP_FORMAT   wxString("WebPFormat")
 

Enumerations

enum  wxImageResolution {
  wxIMAGE_RESOLUTION_NONE = 0 ,
  wxIMAGE_RESOLUTION_INCHES = 1 ,
  wxIMAGE_RESOLUTION_CM = 2
}
 Possible values for the image resolution option. More...
 
enum  wxImageResizeQuality {
  wxIMAGE_QUALITY_NEAREST ,
  wxIMAGE_QUALITY_BILINEAR ,
  wxIMAGE_QUALITY_BICUBIC ,
  wxIMAGE_QUALITY_BOX_AVERAGE ,
  wxIMAGE_QUALITY_NORMAL ,
  wxIMAGE_QUALITY_FAST ,
  wxIMAGE_QUALITY_HIGH
}
 Image resize algorithm. More...
 
enum  wxImageAlphaBlendMode {
  wxIMAGE_ALPHA_BLEND_OVER = 0 ,
  wxIMAGE_ALPHA_BLEND_COMPOSE = 1
}
 Constants for wxImage::Paste() for specifying alpha blending option. More...
 
enum  wxImagePNGType {
  wxPNG_TYPE_COLOUR = 0 ,
  wxPNG_TYPE_GREY = 2 ,
  wxPNG_TYPE_GREY_RED = 3 ,
  wxPNG_TYPE_PALETTE = 4
}
 Possible values for PNG image type option. More...
 
enum  {
  wxBMP_24BPP = 24 ,
  wxBMP_8BPP = 8 ,
  wxBMP_8BPP_GREY = 9 ,
  wxBMP_8BPP_GRAY = wxBMP_8BPP_GREY ,
  wxBMP_8BPP_RED = 10 ,
  wxBMP_8BPP_PALETTE = 11 ,
  wxBMP_4BPP = 4 ,
  wxBMP_1BPP = 1 ,
  wxBMP_1BPP_BW = 2
}
 

Functions

void wxInitAllImageHandlers ()
 Initializes all available image handlers. More...
 

Variables

const unsigned char wxIMAGE_ALPHA_TRANSPARENT = 0
 Constant used to indicate the alpha value conventionally defined as the complete transparency. More...
 
const unsigned char wxIMAGE_ALPHA_OPAQUE = 0xff
 Constant used to indicate the alpha value conventionally defined as the complete opacity. More...
 
const unsigned char wxIMAGE_ALPHA_THRESHOLD = 0x80
 
wxImage wxNullImage
 An instance of an empty image without an alpha channel. More...
 

Macro Definition Documentation

◆ wxIMAGE_OPTION_BMP_FORMAT

#define wxIMAGE_OPTION_BMP_FORMAT   wxString("wxBMP_FORMAT")

◆ wxIMAGE_OPTION_CUR_HOTSPOT_X

#define wxIMAGE_OPTION_CUR_HOTSPOT_X   wxString("HotSpotX")

◆ wxIMAGE_OPTION_CUR_HOTSPOT_Y

#define wxIMAGE_OPTION_CUR_HOTSPOT_Y   wxString("HotSpotY")

◆ wxIMAGE_OPTION_FILENAME

#define wxIMAGE_OPTION_FILENAME   wxString("FileName")

◆ wxIMAGE_OPTION_GIF_COMMENT

#define wxIMAGE_OPTION_GIF_COMMENT   wxString("GifComment")

◆ wxIMAGE_OPTION_GIF_TRANSPARENCY

#define wxIMAGE_OPTION_GIF_TRANSPARENCY   wxString("Transparency")

◆ wxIMAGE_OPTION_GIF_TRANSPARENCY_HIGHLIGHT

#define wxIMAGE_OPTION_GIF_TRANSPARENCY_HIGHLIGHT   wxString("Highlight")

◆ wxIMAGE_OPTION_GIF_TRANSPARENCY_UNCHANGED

#define wxIMAGE_OPTION_GIF_TRANSPARENCY_UNCHANGED   wxString("Unchanged")

◆ wxIMAGE_OPTION_MAX_HEIGHT

#define wxIMAGE_OPTION_MAX_HEIGHT   wxString("MaxHeight")

◆ wxIMAGE_OPTION_MAX_WIDTH

#define wxIMAGE_OPTION_MAX_WIDTH   wxString("MaxWidth")

◆ wxIMAGE_OPTION_ORIGINAL_HEIGHT

#define wxIMAGE_OPTION_ORIGINAL_HEIGHT   wxString("OriginalHeight")

◆ wxIMAGE_OPTION_ORIGINAL_WIDTH

#define wxIMAGE_OPTION_ORIGINAL_WIDTH   wxString("OriginalWidth")

◆ wxIMAGE_OPTION_PNG_BITDEPTH

#define wxIMAGE_OPTION_PNG_BITDEPTH   wxString("PngBitDepth")

◆ wxIMAGE_OPTION_PNG_COMPRESSION_BUFFER_SIZE

#define wxIMAGE_OPTION_PNG_COMPRESSION_BUFFER_SIZE   wxString("PngZB")

◆ wxIMAGE_OPTION_PNG_COMPRESSION_LEVEL

#define wxIMAGE_OPTION_PNG_COMPRESSION_LEVEL   wxString("PngZL")

◆ wxIMAGE_OPTION_PNG_COMPRESSION_MEM_LEVEL

#define wxIMAGE_OPTION_PNG_COMPRESSION_MEM_LEVEL   wxString("PngZM")

◆ wxIMAGE_OPTION_PNG_COMPRESSION_STRATEGY

#define wxIMAGE_OPTION_PNG_COMPRESSION_STRATEGY   wxString("PngZS")

◆ wxIMAGE_OPTION_PNG_FILTER

#define wxIMAGE_OPTION_PNG_FILTER   wxString("PngF")

◆ wxIMAGE_OPTION_PNG_FORMAT

#define wxIMAGE_OPTION_PNG_FORMAT   wxString("PngFormat")

◆ wxIMAGE_OPTION_QUALITY

#define wxIMAGE_OPTION_QUALITY   wxString("quality")

Image option names.

◆ wxIMAGE_OPTION_RESOLUTION

#define wxIMAGE_OPTION_RESOLUTION   wxString("Resolution")

◆ wxIMAGE_OPTION_RESOLUTIONUNIT

#define wxIMAGE_OPTION_RESOLUTIONUNIT   wxString("ResolutionUnit")

◆ wxIMAGE_OPTION_RESOLUTIONX

#define wxIMAGE_OPTION_RESOLUTIONX   wxString("ResolutionX")

◆ wxIMAGE_OPTION_RESOLUTIONY

#define wxIMAGE_OPTION_RESOLUTIONY   wxString("ResolutionY")

◆ wxIMAGE_OPTION_TIFF_BITSPERSAMPLE

#define wxIMAGE_OPTION_TIFF_BITSPERSAMPLE   wxString("BitsPerSample")

◆ wxIMAGE_OPTION_TIFF_COMPRESSION

#define wxIMAGE_OPTION_TIFF_COMPRESSION   wxString("Compression")

◆ wxIMAGE_OPTION_TIFF_IMAGEDESCRIPTOR

#define wxIMAGE_OPTION_TIFF_IMAGEDESCRIPTOR   wxString("ImageDescriptor")

◆ wxIMAGE_OPTION_TIFF_PHOTOMETRIC

#define wxIMAGE_OPTION_TIFF_PHOTOMETRIC   wxString("Photometric")

◆ wxIMAGE_OPTION_TIFF_SAMPLESPERPIXEL

#define wxIMAGE_OPTION_TIFF_SAMPLESPERPIXEL   wxString("SamplesPerPixel")

◆ wxIMAGE_OPTION_WEBP_FORMAT

#define wxIMAGE_OPTION_WEBP_FORMAT   wxString("WebPFormat")

◆ wxIMAGE_OPTION_WEBP_QUALITY

#define wxIMAGE_OPTION_WEBP_QUALITY   wxString("WebPQuality")

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
wxBMP_24BPP 
wxBMP_8BPP 
wxBMP_8BPP_GREY 
wxBMP_8BPP_GRAY 
wxBMP_8BPP_RED 
wxBMP_8BPP_PALETTE 
wxBMP_4BPP 
wxBMP_1BPP 
wxBMP_1BPP_BW 

◆ wxImageAlphaBlendMode

Constants for wxImage::Paste() for specifying alpha blending option.

Since
3.1.5
Enumerator
wxIMAGE_ALPHA_BLEND_OVER 

Overwrite the original alpha values with the ones being pasted.

wxIMAGE_ALPHA_BLEND_COMPOSE 

Compose the original alpha values with the ones being pasted.

◆ wxImagePNGType

Possible values for PNG image type option.

See also
wxImage::GetOptionInt().
Enumerator
wxPNG_TYPE_COLOUR 

Colour PNG image.

wxPNG_TYPE_GREY 

Greyscale PNG image converted from RGB.

wxPNG_TYPE_GREY_RED 

Greyscale PNG image using red as grey.

wxPNG_TYPE_PALETTE 

Palette encoding.

◆ wxImageResizeQuality

Image resize algorithm.

This is used with wxImage::Scale() and wxImage::Rescale().

Enumerator
wxIMAGE_QUALITY_NEAREST 

Simplest and fastest algorithm.

In wxWidgets versions before 3.3.0 this used to be the same as wxIMAGE_QUALITY_NORMAL, but this is no longer the case when downscaling the images. You can use the new wxIMAGE_QUALITY_FAST as a synonym for this algorithm if speed is paramount.

wxIMAGE_QUALITY_BILINEAR 

Compromise between wxIMAGE_QUALITY_NEAREST and wxIMAGE_QUALITY_BICUBIC.

wxIMAGE_QUALITY_BICUBIC 

Highest quality but slowest execution time.

wxIMAGE_QUALITY_BOX_AVERAGE 

Use surrounding pixels to calculate an average that will be used for new pixels.

This method is typically used when reducing the size of an image.

wxIMAGE_QUALITY_NORMAL 

Default image resizing algorithm used by wxImage::Scale().

Currently this algorithm uses wxIMAGE_QUALITY_BILINEAR when reducing the image size (in both directions) to resize the image to an integer multiple of the target size and, after doing this, or as the only step when enlarging the image, applies wxIMAGE_QUALITY_BOX_AVERAGE to obtain the desired size.

This produces relatively good results for the images typically used for the icons in the GUI applications.

wxIMAGE_QUALITY_FAST 

Fastest image resizing algorithm.

Currently this is the same as wxIMAGE_QUALITY_NEAREST, but this may change in the future. Please use this value if speed is more important than the quality of the result.

Since
3.3.0
wxIMAGE_QUALITY_HIGH 

Best image resizing algorithm.

Since version 2.9.2 this results in wxIMAGE_QUALITY_BOX_AVERAGE being used when reducing the size of the image (meaning that both the new width and height will be smaller than the original size). Otherwise wxIMAGE_QUALITY_BICUBIC is used.

This algorithm is the slowest, but may produce better results, especially for photogenic images.

◆ wxImageResolution

Possible values for the image resolution option.

See also
wxImage::GetOptionInt().
Enumerator
wxIMAGE_RESOLUTION_NONE 

Resolution not specified.

wxIMAGE_RESOLUTION_INCHES 

Resolution specified in inches.

wxIMAGE_RESOLUTION_CM 

Resolution specified in centimetres.

Variable Documentation

◆ wxIMAGE_ALPHA_OPAQUE

const unsigned char wxIMAGE_ALPHA_OPAQUE = 0xff

Constant used to indicate the alpha value conventionally defined as the complete opacity.

◆ wxIMAGE_ALPHA_THRESHOLD

const unsigned char wxIMAGE_ALPHA_THRESHOLD = 0x80

◆ wxIMAGE_ALPHA_TRANSPARENT

const unsigned char wxIMAGE_ALPHA_TRANSPARENT = 0

Constant used to indicate the alpha value conventionally defined as the complete transparency.

◆ wxNullImage

wxImage wxNullImage

An instance of an empty image without an alpha channel.