5873607e5c
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8967 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
927 lines
28 KiB
TeX
927 lines
28 KiB
TeX
\section{\class{wxImage}}\label{wximage}
|
|
|
|
This class encapsulates a platform-independent image. An image can be created
|
|
from data, or using the constructor taking a wxBitmap object. An image
|
|
can be loaded from a file in a variety of formats, and is extensible to new formats
|
|
via image format handlers. Functions are available to set and get image bits, so
|
|
it can be used for basic image manipulation.
|
|
|
|
A wxImage cannot (currently) be drawn directly to a \helpref{wxDC}{wxdc}. Instead,
|
|
a platform-specific \helpref{wxBitmap}{wxbitmap} object must be created from it using
|
|
the \helpref{ConvertToBitmap}{wximageconverttobitmap} function. This bitmap can then
|
|
be drawn in a device context, using \helpref{wxDC::DrawBitmap}{wxdcdrawbitmap}.
|
|
|
|
One colour value of the image may be used as a mask colour which will lead to the automatic
|
|
creation of a \helpref{wxMask}{wxmask} object associated to the bitmap object.
|
|
|
|
\wxheading{Available image handlers}
|
|
|
|
The following image handlers are available. {\bf wxBMPHandler} is always
|
|
installed by default. To use other image formats, install the appropiate
|
|
handler with \helpref{wxImage::AddHandler}{wximageaddhandler} or
|
|
\helpref{wxInitAllImageHandlers}{wxinitallimagehandlers}.
|
|
|
|
\twocolwidtha{5cm}%
|
|
\begin{twocollist}
|
|
\twocolitem{{\bf \indexit{wxBMPHandler}}}{Only for loading, always installed.}
|
|
\twocolitem{{\bf \indexit{wxPNGHandler}}}{For loading and saving.}
|
|
\twocolitem{{\bf \indexit{wxJPEGHandler}}}{For loading and saving.}
|
|
\twocolitem{{\bf \indexit{wxGIFHandler}}}{Only for loading, due to legal issues.}
|
|
\twocolitem{{\bf \indexit{wxPCXHandler}}}{For loading and saving (see below).}
|
|
\twocolitem{{\bf \indexit{wxPNMHandler}}}{For loading and saving (see below).}
|
|
\twocolitem{{\bf \indexit{wxTIFFHandler}}}{For loading.}
|
|
\end{twocollist}
|
|
|
|
When saving in PCX format, {\bf wxPCXHandler} will count the number of
|
|
different colours in the image; if there are 256 or less colours, it will
|
|
save as 8 bit, else it will save as 24 bit.
|
|
|
|
Loading PNMs only works for ASCII or raw RGB images. When saving in
|
|
PNM format, {\bf wxPNMHandler} will always save as raw RGB.
|
|
|
|
\wxheading{Derived from}
|
|
|
|
\helpref{wxObject}{wxobject}
|
|
|
|
\wxheading{Include files}
|
|
|
|
<wx/image.h>
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxBitmap}{wxbitmap},
|
|
\helpref{wxInitAllImageHandlers}{wxinitallimagehandlers}
|
|
|
|
\latexignore{\rtfignore{\wxheading{Members}}}
|
|
|
|
\membersection{wxImage::wxImage}\label{wximageconstr}
|
|
|
|
\func{}{wxImage}{\void}
|
|
|
|
Default constructor.
|
|
|
|
\func{}{wxImage}{\param{const wxImage\& }{image}}
|
|
|
|
Copy constructor.
|
|
|
|
\func{}{wxImage}{\param{const wxBitmap\&}{ bitmap}}
|
|
|
|
Constructs an image from a platform-dependent bitmap. This preserves
|
|
mask information so that bitmaps and images can be converted back
|
|
and forth without loss in that respect.
|
|
|
|
\func{}{wxImage}{\param{int}{ width}, \param{int}{ height}}
|
|
|
|
Creates an image with the given width and height.
|
|
|
|
\func{}{wxImage}{\param{int}{ width}, \param{int}{ height}, \param{unsigned char*}{ data}, \param{bool}{ static_data=FALSE}}
|
|
|
|
Creates an image from given data with the given width and height. If
|
|
{\it static_data} is TRUE, then wxImage will not delete the actual
|
|
image data in its destructor, otherwise it will free it by calling
|
|
{\it free()}.
|
|
|
|
\func{}{wxImage}{\param{const wxString\& }{name}, \param{long}{ type = wxBITMAP\_TYPE\_ANY}}
|
|
|
|
\func{}{wxImage}{\param{const wxString\& }{name}, \param{const wxString\&}{ mimetype}}
|
|
|
|
Loads an image from a file.
|
|
|
|
\func{}{wxImage}{\param{wxInputStream\& }{stream}, \param{long}{ type = wxBITMAP\_TYPE\_ANY}}
|
|
|
|
\func{}{wxImage}{\param{wxInputStream\& }{stream}, \param{const wxString\&}{ mimetype}}
|
|
|
|
Loads an image from an input stream.
|
|
|
|
\wxheading{Parameters}
|
|
|
|
\docparam{width}{Specifies the width of the image.}
|
|
|
|
\docparam{height}{Specifies the height of the image.}
|
|
|
|
\docparam{name}{Name of the file from which to load the image.}
|
|
|
|
\docparam{stream}{Opened input stream from which to load the image. Currently, the stream must support seeking.}
|
|
|
|
\docparam{type}{May be one of the following:
|
|
|
|
\twocolwidtha{5cm}%
|
|
\begin{twocollist}
|
|
\twocolitem{{\bf \indexit{wxBITMAP\_TYPE\_BMP}}}{Load a Windows bitmap file.}
|
|
\twocolitem{{\bf \indexit{wxBITMAP\_TYPE\_GIF}}}{Load a GIF bitmap file.}
|
|
\twocolitem{{\bf \indexit{wxBITMAP\_TYPE\_JPEG}}}{Load a JPEG bitmap file.}
|
|
\twocolitem{{\bf \indexit{wxBITMAP\_TYPE\_PNG}}}{Load a PNG bitmap file.}
|
|
\twocolitem{{\bf \indexit{wxBITMAP\_TYPE\_PCX}}}{Load a PCX bitmap file.}
|
|
\twocolitem{{\bf \indexit{wxBITMAP\_TYPE\_PNM}}}{Load a PNM bitmap file.}
|
|
\twocolitem{{\bf \indexit{wxBITMAP\_TYPE\_TIF}}}{Load a TIFF bitmap file.}
|
|
\twocolitem{{\bf \indexit{wxBITMAP\_TYPE\_ANY}}}{Will try to autodetect the format.}
|
|
\end{twocollist}}
|
|
|
|
\docparam{mimetype}{MIME type string (for example 'image/jpeg')}
|
|
|
|
\wxheading{Remarks}
|
|
|
|
Depending on how wxWindows has been configured, not all formats may be available.
|
|
|
|
Note: any handler other than BMP must be previously
|
|
initialized with \helpref{wxImage::AddHandler}{wximageaddhandler} or
|
|
\helpref{wxInitAllImageHandlers}{wxinitallimagehandlers}.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxImage::LoadFile}{wximageloadfile}
|
|
|
|
\pythonnote{Constructors supported by wxPython are:\par
|
|
\indented{2cm}{\begin{twocollist}
|
|
\twocolitem{{\bf wxImage(name, flag)}}{Loads an image from a file}
|
|
\twocolitem{{\bf wxNullImage()}}{Create a null image (has no size or
|
|
image data)}
|
|
\twocolitem{{\bf wxEmptyImage(width, height)}}{Creates an empty image
|
|
of the given size}
|
|
\twocolitem{{\bf wxImageFromMime(name, mimetype}}{Creates an image from
|
|
the given file of the given mimetype}
|
|
\twocolitem{{\bf wxImageFromBitmap(bitmap)}}{Creates an image from a
|
|
platform-dependent bitmap}
|
|
\end{twocollist}}
|
|
}
|
|
|
|
\perlnote{Constructors supported by wxPerl are:\par
|
|
\begin{itemize}
|
|
\item{Wx::Image->new( bitmap )}
|
|
\item{Wx::Image->new( width, height )}
|
|
\item{Wx::Image->new( name, type )}
|
|
\item{Wx::Image->new( name, mimetype )}
|
|
\end{itemize}
|
|
}
|
|
|
|
\membersection{wxImage::\destruct{wxImage}}
|
|
|
|
\func{}{\destruct{wxImage}}{\void}
|
|
|
|
Destructor.
|
|
|
|
\membersection{wxImage::AddHandler}\label{wximageaddhandler}
|
|
|
|
\func{static void}{AddHandler}{\param{wxImageHandler*}{ handler}}
|
|
|
|
Adds a handler to the end of the static list of format handlers.
|
|
|
|
\docparam{handler}{A new image format handler object. There is usually only one instance
|
|
of a given handler class in an application session.}
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxImageHandler}{wximagehandler}
|
|
|
|
\pythonnote{In wxPython this static method is named {\tt wxImage_AddHandler}.}
|
|
\membersection{wxImage::CleanUpHandlers}
|
|
|
|
\func{static void}{CleanUpHandlers}{\void}
|
|
|
|
Deletes all image handlers.
|
|
|
|
This function is called by wxWindows on exit.
|
|
|
|
\membersection{wxImage::ConvertToBitmap}\label{wximageconverttobitmap}
|
|
|
|
\constfunc{wxBitmap}{ConvertToBitmap}{\void}
|
|
|
|
Converts the image to a platform-specific bitmap object. This has to be done
|
|
to actually display an image as you cannot draw an image directly on a window.
|
|
The resulting bitmap will use the colour depth of the current system which entails
|
|
that a colour reduction has to take place.
|
|
|
|
When in 8-bit mode (PseudoColour mode), the GTK port will use a color cube created
|
|
on program start-up to look up colors. This ensures a very fast conversion, but
|
|
the image quality won't be perfect (and could be better for photo images using more
|
|
sophisticated dithering algorithms).
|
|
|
|
On Windows, if there is a palette present (set with SetPalette), it will be used when
|
|
creating the wxBitmap (most useful in 8-bit display mode). On other platforms,
|
|
the palette is currently ignored.
|
|
|
|
\membersection{wxImage::Copy}\label{wximagecopy}
|
|
|
|
\constfunc{wxImage}{Copy}{\void}
|
|
|
|
Returns an identical copy of the image.
|
|
|
|
\membersection{wxImage::Create}\label{wximagecreate}
|
|
|
|
\func{bool}{Create}{\param{int}{ width}, \param{int}{ height}}
|
|
|
|
Creates a fresh image.
|
|
|
|
\wxheading{Parameters}
|
|
|
|
\docparam{width}{The width of the image in pixels.}
|
|
|
|
\docparam{height}{The height of the image in pixels.}
|
|
|
|
\wxheading{Return value}
|
|
|
|
TRUE if the call succeeded, FALSE otherwise.
|
|
|
|
\membersection{wxImage::Destroy}\label{wximagedestroy}
|
|
|
|
\func{bool}{Destroy}{\void}
|
|
|
|
Destroys the image data.
|
|
|
|
\membersection{wxImage::FindHandler}
|
|
|
|
\func{static wxImageHandler*}{FindHandler}{\param{const wxString\& }{name}}
|
|
|
|
Finds the handler with the given name.
|
|
|
|
\func{static wxImageHandler*}{FindHandler}{\param{const wxString\& }{extension}, \param{long}{ imageType}}
|
|
|
|
Finds the handler associated with the given extension and type.
|
|
|
|
\func{static wxImageHandler*}{FindHandler}{\param{long }{imageType}}
|
|
|
|
Finds the handler associated with the given image type.
|
|
|
|
\func{static wxImageHandler*}{FindHandlerMime}{\param{const wxString\& }{mimetype}}
|
|
|
|
Finds the handler associated with the given MIME type.
|
|
|
|
\docparam{name}{The handler name.}
|
|
|
|
\docparam{extension}{The file extension, such as ``bmp".}
|
|
|
|
\docparam{imageType}{The image type, such as wxBITMAP\_TYPE\_BMP.}
|
|
|
|
\docparam{mimetype}{MIME type.}
|
|
|
|
\wxheading{Return value}
|
|
|
|
A pointer to the handler if found, NULL otherwise.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxImageHandler}{wximagehandler}
|
|
|
|
\membersection{wxImage::GetBlue}\label{wximagegetblue}
|
|
|
|
\constfunc{unsigned char}{GetBlue}{\param{int}{ x}, \param{int}{ y}}
|
|
|
|
Returns the blue intensity at the given coordinate.
|
|
|
|
\membersection{wxImage::GetData}\label{wximagegetdata}
|
|
|
|
\constfunc{unsigned char*}{GetData}{\void}
|
|
|
|
Returns the image data as an array. This is most often used when doing
|
|
direct image manipulation. The return value points to an array of
|
|
chararcters in RGBGBRGB... format.
|
|
|
|
\membersection{wxImage::GetGreen}\label{wximagegetgreen}
|
|
|
|
\constfunc{unsigned char}{GetGreen}{\param{int}{ x}, \param{int}{ y}}
|
|
|
|
Returns the green intensity at the given coordinate.
|
|
|
|
\membersection{wxImage::GetRed}\label{wximagegetred}
|
|
|
|
\constfunc{unsigned char}{GetRed}{\param{int}{ x}, \param{int}{ y}}
|
|
|
|
Returns the red intensity at the given coordinate.
|
|
|
|
\membersection{wxImage::GetHandlers}
|
|
|
|
\func{static wxList\&}{GetHandlers}{\void}
|
|
|
|
Returns the static list of image format handlers.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxImageHandler}{wximagehandler}
|
|
|
|
\membersection{wxImage::GetHeight}\label{wximagegetheight}
|
|
|
|
\constfunc{int}{GetHeight}{\void}
|
|
|
|
Gets the height of the image in pixels.
|
|
|
|
\membersection{wxImage::GetMaskBlue}\label{wximagegetmaskblue}
|
|
|
|
\constfunc{unsigned char}{GetMaskBlue}{\void}
|
|
|
|
Gets the blue value of the mask colour.
|
|
|
|
\membersection{wxImage::GetMaskGreen}\label{wximagegetmaskgreen}
|
|
|
|
\constfunc{unsigned char}{GetMaskGreen}{\void}
|
|
|
|
Gets the green value of the mask colour.
|
|
|
|
\membersection{wxImage::GetMaskRed}\label{wximagegetmaskred}
|
|
|
|
\constfunc{unsigned char}{GetMaskRed}{\void}
|
|
|
|
Gets the red value of the mask colour.
|
|
|
|
\membersection{wxImage::GetPalette}\label{wximagegetpalette}
|
|
|
|
\constfunc{const wxPalette\&}{GetPalette}{\void}
|
|
|
|
Returns the palette associated with the image. Currently the palette is only
|
|
used in ConvertToBitmap under Windows.
|
|
|
|
Eventually wxImage handlers will set the palette if one exists in the image file.
|
|
|
|
\membersection{wxImage::GetSubImage}\label{wximagegetsubimage}
|
|
|
|
\constfunc{wxImage}{GetSubImage}{\param{const wxRect\&}{ rect}}
|
|
|
|
Returns a sub image of the current one as long as the rect belongs entirely to
|
|
the image.
|
|
|
|
\membersection{wxImage::GetWidth}\label{wximagegetwidth}
|
|
|
|
\constfunc{int}{GetWidth}{\void}
|
|
|
|
Gets the width of the image in pixels.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxImage::GetHeight}{wximagegetheight}
|
|
|
|
\membersection{wxImage::HasMask}\label{wximagehasmask}
|
|
|
|
\constfunc{bool}{HasMask}{\void}
|
|
|
|
Returns TRUE if there is a mask active, FALSE otherwise.
|
|
|
|
\membersection{wxImage::GetOption}\label{wximagegetoption}
|
|
|
|
\constfunc{wxString}{GetOption}{\param{const wxString\&}{ name}}
|
|
|
|
Gets a user-defined option. The function is case-insensitive to {\it name}.
|
|
|
|
For example, when saving as a JPEG file, the option {\bf quality} is
|
|
used, which is a number between 0 and 100 (0 is terrible, 100 is very good).
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxImage::SetOption}{wximagesetoption},\rtfsp
|
|
\helpref{wxImage::GetOptionInt}{wximagegetoptionint},\rtfsp
|
|
\helpref{wxImage::HasOption}{wximagehasoption}
|
|
|
|
\membersection{wxImage::GetOptionInt}\label{wximagegetoptionint}
|
|
|
|
\constfunc{int}{GetOptionInt}{\param{const wxString\&}{ name}}
|
|
|
|
Gets a user-defined option as an integer. The function is case-insensitive to {\it name}.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxImage::SetOption}{wximagesetoption},\rtfsp
|
|
\helpref{wxImage::GetOption}{wximagegetoption},\rtfsp
|
|
\helpref{wxImage::HasOption}{wximagehasoption}
|
|
|
|
\membersection{wxImage::HasOption}\label{wximagehasoption}
|
|
|
|
\constfunc{bool}{HasOption}{\param{const wxString\&}{ name}}
|
|
|
|
Returns TRUE if the given option is present. The function is case-insensitive to {\it name}.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxImage::SetOption}{wximagesetoption},\rtfsp
|
|
\helpref{wxImage::GetOption}{wximagegetoption},\rtfsp
|
|
\helpref{wxImage::GetOptionInt}{wximagegetoptionint}
|
|
|
|
\membersection{wxImage::InitStandardHandlers}
|
|
|
|
\func{static void}{InitStandardHandlers}{\void}
|
|
|
|
Internal use only. Adds standard image format handlers. It only install BMP
|
|
for the time being, which is used by wxBitmap.
|
|
|
|
This function is called by wxWindows on startup, and shouldn't be called by
|
|
the user.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxImageHandler}{wximagehandler},
|
|
\helpref{wxInitAllImageHandlers}{wxinitallimagehandlers}
|
|
|
|
\membersection{wxImage::InsertHandler}
|
|
|
|
\func{static void}{InsertHandler}{\param{wxImageHandler*}{ handler}}
|
|
|
|
Adds a handler at the start of the static list of format handlers.
|
|
|
|
\docparam{handler}{A new image format handler object. There is usually only one instance
|
|
of a given handler class in an application session.}
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxImageHandler}{wximagehandler}
|
|
|
|
\membersection{wxImage::LoadFile}\label{wximageloadfile}
|
|
|
|
\func{bool}{LoadFile}{\param{const wxString\&}{ name}, \param{long}{ type = wxBITMAP\_TYPE\_ANY}}
|
|
|
|
\func{bool}{LoadFile}{\param{const wxString\&}{ name}, \param{const wxString\&}{ mimetype}}
|
|
|
|
Loads an image from a file. If no handler type is provided, the library will
|
|
try to autodetect the format.
|
|
|
|
\func{bool}{LoadFile}{\param{wxInputStream\&}{ stream}, \param{long}{ type}}
|
|
|
|
\func{bool}{LoadFile}{\param{wxInputStream\&}{ stream}, \param{const wxString\&}{ mimetype}}
|
|
|
|
Loads an image from an input stream.
|
|
|
|
\wxheading{Parameters}
|
|
|
|
\docparam{name}{Name of the file from which to load the image.}
|
|
|
|
\docparam{stream}{Opened input stream from which to load the image. Currently, the stream must support seeking.}
|
|
|
|
\docparam{type}{One of the following values:
|
|
|
|
\twocolwidtha{5cm}%
|
|
\begin{twocollist}
|
|
\twocolitem{{\bf wxBITMAP\_TYPE\_BMP}}{Load a Windows image file.}
|
|
\twocolitem{{\bf wxBITMAP\_TYPE\_GIF}}{Load a GIF image file.}
|
|
\twocolitem{{\bf wxBITMAP\_TYPE\_JPEG}}{Load a JPEG image file.}
|
|
\twocolitem{{\bf wxBITMAP\_TYPE\_PCX}}{Load a PCX image file.}
|
|
\twocolitem{{\bf wxBITMAP\_TYPE\_PNG}}{Load a PNG image file.}
|
|
\twocolitem{{\bf wxBITMAP\_TYPE\_PNM}}{Load a PNM image file.}
|
|
\twocolitem{{\bf wxBITMAP\_TYPE\_TIF}}{Load a TIFF image file.}
|
|
\twocolitem{{\bf wxBITMAP\_TYPE\_ANY}}{Will try to autodetect the format.}
|
|
\end{twocollist}}
|
|
|
|
\docparam{mimetype}{MIME type string (for example 'image/jpeg')}
|
|
|
|
\wxheading{Remarks}
|
|
|
|
Depending on how wxWindows has been configured, not all formats may be available.
|
|
|
|
\wxheading{Return value}
|
|
|
|
TRUE if the operation succeeded, FALSE otherwise.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxImage::SaveFile}{wximagesavefile}
|
|
|
|
\pythonnote{In place of a single overloaded method name, wxPython
|
|
implements the following methods:\par
|
|
\indented{2cm}{\begin{twocollist}
|
|
\twocolitem{{\bf LoadFile(filename, type)}}{Loads an image of the given
|
|
type from a file}
|
|
\twocolitem{{\bf LoadMimeFile(filename, mimetype)}}{Loads an image of the given
|
|
mimetype from a file}
|
|
\end{twocollist}}
|
|
}
|
|
|
|
\perlnote{Methods supported by wxPerl are:\par
|
|
\begin{itemize}
|
|
\item{\$bitmap->LoadFile( name, type )}
|
|
\item{\$bitmap->LoadFile( name, mimetype )}
|
|
\end{itemize}
|
|
}
|
|
|
|
|
|
\membersection{wxImage::Ok}\label{wximageok}
|
|
|
|
\constfunc{bool}{Ok}{\void}
|
|
|
|
Returns TRUE if image data is present.
|
|
|
|
\membersection{wxImage::RemoveHandler}
|
|
|
|
\func{static bool}{RemoveHandler}{\param{const wxString\& }{name}}
|
|
|
|
Finds the handler with the given name, and removes it. The handler
|
|
is not deleted.
|
|
|
|
\docparam{name}{The handler name.}
|
|
|
|
\wxheading{Return value}
|
|
|
|
TRUE if the handler was found and removed, FALSE otherwise.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxImageHandler}{wximagehandler}
|
|
|
|
\membersection{wxImage::SaveFile}\label{wximagesavefile}
|
|
|
|
\func{bool}{SaveFile}{\param{const wxString\& }{name}, \param{int}{ type}}
|
|
|
|
\func{bool}{SaveFile}{\param{const wxString\& }{name}, \param{const wxString\&}{ mimetype}}
|
|
|
|
Saves a image in the named file.
|
|
|
|
\func{bool}{SaveFile}{\param{wxOutputStream\& }{stream}, \param{int}{ type}}
|
|
|
|
\func{bool}{SaveFile}{\param{wxOutputStream\& }{stream}, \param{const wxString\&}{ mimetype}}
|
|
|
|
Saves a image in the given stream.
|
|
|
|
\wxheading{Parameters}
|
|
|
|
\docparam{name}{Name of the file to save the image to.}
|
|
|
|
\docparam{stream}{Opened output stream to save the image to.}
|
|
|
|
\docparam{type}{Currently three types can be used:
|
|
|
|
\twocolwidtha{5cm}%
|
|
\begin{twocollist}
|
|
\twocolitem{{\bf wxBITMAP\_TYPE\_JPEG}}{Save a JPEG image file.}
|
|
\twocolitem{{\bf wxBITMAP\_TYPE\_PNG}}{Save a PNG image file.}
|
|
\twocolitem{{\bf wxBITMAP\_TYPE\_PCX}}{Save a PCX image file (tries to save as 8-bit if possible, falls back to 24-bit otherwise).}
|
|
\twocolitem{{\bf wxBITMAP\_TYPE\_PNM}}{Save a PNM image file (as raw RGB always).}
|
|
\end{twocollist}}
|
|
|
|
\docparam{mimetype}{MIME type.}
|
|
|
|
\wxheading{Return value}
|
|
|
|
TRUE if the operation succeeded, FALSE otherwise.
|
|
|
|
\wxheading{Remarks}
|
|
|
|
Depending on how wxWindows has been configured, not all formats may be available.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxImage::LoadFile}{wximageloadfile}
|
|
|
|
\pythonnote{In place of a single overloaded method name, wxPython
|
|
implements the following methods:\par
|
|
\indented{2cm}{\begin{twocollist}
|
|
\twocolitem{{\bf SaveFile(filename, type)}}{Saves the image using the given
|
|
type to the named file}
|
|
\twocolitem{{\bf SaveMimeFile(filename, mimetype)}}{Saves the image using the given
|
|
mimetype to the named file}
|
|
\end{twocollist}}
|
|
}
|
|
|
|
\perlnote{Methods supported by wxPerl are:\par
|
|
\begin{itemize}
|
|
\item{\$bitmap->SaveFile( name, type )}
|
|
\item{\$bitmap->SaveFile( name, mimetype )}
|
|
\end{itemize}
|
|
}
|
|
|
|
\membersection{wxImage::Mirror}\label{wximagemirror}
|
|
|
|
\constfunc{wxImage}{Mirror}{\param{bool}{ horizontally = TRUE}}
|
|
|
|
Returns a mirrored copy of the image. The parameter {\it horizontally}
|
|
indicates the orientation.
|
|
|
|
\membersection{wxImage::Replace}\label{wximagereplace}
|
|
|
|
\func{void}{Replace}{\param{unsigned char}{ r1}, \param{unsigned char}{ g1}, \param{unsigned char}{ b1},
|
|
\param{unsigned char}{ r2}, \param{unsigned char}{ g2}, \param{unsigned char}{ b2}}
|
|
|
|
Replaces the colour specified by {\it r1,g1,b1} by the colour {\it r2,g2,b2}.
|
|
|
|
\membersection{wxImage::Rescale}\label{wximagerescale}
|
|
|
|
\func{wxImage \&}{Rescale}{\param{int}{ width}, \param{int}{ height}}
|
|
|
|
Changes the size of the image in-place: after a call to this function, the
|
|
image will have the given width and height.
|
|
|
|
Returns the (modified) image itself.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{Scale}{wximagescale}
|
|
|
|
\membersection{wxImage::Rotate}\label{wximagerotate}
|
|
|
|
\func{wxImage}{Rotate}{\param{double}{ angle}, \param{const wxPoint\& }{rotationCentre},
|
|
\param{bool}{ interpolating = TRUE}, \param{wxPoint*}{ offsetAfterRotation = NULL}}
|
|
|
|
Rotates the image about the given point, by {\it angle} radians. Passing TRUE
|
|
to {\it interpolating} results in better image quality, but is slower. If the
|
|
image has a mask, then the mask colour is used for the uncovered pixels in the
|
|
rotated image background. Else, black (rgb 0, 0, 0) will be used.
|
|
|
|
Returns the rotated image, leaving this image intact.
|
|
|
|
\membersection{wxImage::Rotate90}\label{wximagerotate90}
|
|
|
|
\constfunc{wxImage}{Rotate90}{\param{bool}{ clockwise = TRUE}}
|
|
|
|
Returns a copy of the image rotated 90 degrees in the direction
|
|
indicated by {\it clockwise}.
|
|
|
|
\membersection{wxImage::Scale}\label{wximagescale}
|
|
|
|
\constfunc{wxImage}{Scale}{\param{int}{ width}, \param{int}{ height}}
|
|
|
|
Returns a scaled version of the image. This is also useful for
|
|
scaling bitmaps in general as the only other way to scale bitmaps
|
|
is to blit a wxMemoryDC into another wxMemoryDC.
|
|
|
|
It may be mentioned that the GTK port uses this function internally
|
|
to scale bitmaps when using mapping modes in wxDC.
|
|
|
|
Example:
|
|
|
|
\begin{verbatim}
|
|
// get the bitmap from somewhere
|
|
wxBitmap bmp = ...;
|
|
|
|
// rescale it to have size of 32*32
|
|
if ( bmp.GetWidth() != 32 || bmp.GetHeight() != 32 )
|
|
{
|
|
wxImage image(bmp);
|
|
bmp = image.Scale(32, 32).ConvertToBitmap();
|
|
|
|
// another possibility:
|
|
image.Rescale(32, 32);
|
|
bmp = image;
|
|
}
|
|
|
|
\end{verbatim}
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{Rescale}{wximagerescale}
|
|
|
|
\membersection{wxImage::SetData}\label{wximagesetdata}
|
|
|
|
\func{void}{SetData}{\param{unsigned char*}{data}}
|
|
|
|
Sets the image data without performing checks. The data given must have
|
|
the size (width*height*3) or results will be unexpected. Don't use this
|
|
method if you aren't sure you know what you are doing.
|
|
|
|
\membersection{wxImage::SetMask}\label{wximagesetmask}
|
|
|
|
\func{void}{SetMask}{\param{bool}{ hasMask = TRUE}}
|
|
|
|
Specifies whether there is a mask or not. The area of the mask is determined by the current mask colour.
|
|
|
|
\membersection{wxImage::SetMaskColour}\label{wximagesetmaskcolour}
|
|
|
|
\func{void}{SetMaskColour}{\param{unsigned char }{red}, \param{unsigned char }{blue}, \param{unsigned char }{green}}
|
|
|
|
Sets the mask colour for this image (and tells the image to use the mask).
|
|
|
|
\membersection{wxImage::SetOption}\label{wximagesetoption}
|
|
|
|
\func{void}{SetOption}{\param{const wxString\&}{ name}, \param{const wxString\&}{ value}}
|
|
|
|
\func{void}{SetOption}{\param{const wxString\&}{ name}, \param{int}{ value}}
|
|
|
|
Sets a user-defined option. The function is case-insensitive to {\it name}.
|
|
|
|
For example, when saving as a JPEG file, the option {\bf quality} is
|
|
used, which is a number between 0 and 100 (0 is terrible, 100 is very good).
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxImage::GetOption}{wximagegetoption},\rtfsp
|
|
\helpref{wxImage::GetOptionInt}{wximagegetoptionint},\rtfsp
|
|
\helpref{wxImage::HasOption}{wximagehasoption}
|
|
|
|
\membersection{wxImage::SetPalette}\label{wximagesetpalette}
|
|
|
|
\func{void}{SetPalette}{\param{const wxPalette\&}{ palette}}
|
|
|
|
Associates a palette with the image. The palette may be used in ConvertToBitmap (MSW only at present)
|
|
or in file save operations (none as yet).
|
|
|
|
\membersection{wxImage::SetRGB}\label{wximagesetrgb}
|
|
|
|
\func{void}{SetRGB}{\param{int }{x}, \param{int }{y}, \param{unsigned char }{red}, \param{unsigned char }{green}, \param{unsigned char }{blue}}
|
|
|
|
Sets the pixel at the given coordinate. This routine performs bounds-checks
|
|
for the coordinate so it can be considered a safe way to manipulate the
|
|
data, but in some cases this might be too slow so that the data will have to
|
|
be set directly. In that case you will have to get access to the image data
|
|
using the \helpref{GetData}{wximagegetdata} method.
|
|
|
|
\membersection{wxImage::operator $=$}
|
|
|
|
\func{wxImage\& }{operator $=$}{\param{const wxImage\& }{image}}
|
|
|
|
Assignment operator. This operator does not copy any data, but instead
|
|
passes a pointer to the data in {\it image} and increments a reference
|
|
counter. It is a fast operation.
|
|
|
|
\wxheading{Parameters}
|
|
|
|
\docparam{image}{Image to assign.}
|
|
|
|
\wxheading{Return value}
|
|
|
|
Returns 'this' object.
|
|
|
|
\membersection{wxImage::operator $==$}
|
|
|
|
\func{bool}{operator $==$}{\param{const wxImage\& }{image}}
|
|
|
|
Equality operator. This operator tests whether the internal data pointers are
|
|
equal (a fast test).
|
|
|
|
\wxheading{Parameters}
|
|
|
|
\docparam{image}{Image to compare with 'this'}
|
|
|
|
\wxheading{Return value}
|
|
|
|
Returns TRUE if the images were effectively equal, FALSE otherwise.
|
|
|
|
\membersection{wxImage::operator $!=$}
|
|
|
|
\func{bool}{operator $!=$}{\param{const wxImage\& }{image}}
|
|
|
|
Inequality operator. This operator tests whether the internal data pointers are
|
|
unequal (a fast test).
|
|
|
|
\wxheading{Parameters}
|
|
|
|
\docparam{image}{Image to compare with 'this'}
|
|
|
|
\wxheading{Return value}
|
|
|
|
Returns TRUE if the images were unequal, FALSE otherwise.
|
|
|
|
\section{\class{wxImageHandler}}\label{wximagehandler}
|
|
|
|
This is the base class for implementing image file loading/saving, and image creation from data.
|
|
It is used within wxImage and is not normally seen by the application.
|
|
|
|
If you wish to extend the capabilities of wxImage, derive a class from wxImageHandler
|
|
and add the handler using \helpref{wxImage::AddHandler}{wximageaddhandler} in your
|
|
application initialisation.
|
|
|
|
\wxheading{Note (Legal Issue)}
|
|
|
|
This software is based in part on the work of the Independent JPEG Group.
|
|
|
|
(Applies when wxWindows is linked with JPEG support. wxJPEGHandler uses libjpeg
|
|
created by IJG.)
|
|
|
|
\wxheading{Derived from}
|
|
|
|
\helpref{wxObject}{wxobject}
|
|
|
|
\wxheading{Include files}
|
|
|
|
<wx/image.h>
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxImage}{wximage},
|
|
\helpref{wxInitAllImageHandlers}{wxinitallimagehandlers}
|
|
|
|
\latexignore{\rtfignore{\wxheading{Members}}}
|
|
|
|
\membersection{wxImageHandler::wxImageHandler}\label{wximagehandlerconstr}
|
|
|
|
\func{}{wxImageHandler}{\void}
|
|
|
|
Default constructor. In your own default constructor, initialise the members
|
|
m\_name, m\_extension and m\_type.
|
|
|
|
\membersection{wxImageHandler::\destruct{wxImageHandler}}
|
|
|
|
\func{}{\destruct{wxImageHandler}}{\void}
|
|
|
|
Destroys the wxImageHandler object.
|
|
|
|
\membersection{wxImageHandler::GetName}
|
|
|
|
\constfunc{wxString}{GetName}{\void}
|
|
|
|
Gets the name of this handler.
|
|
|
|
\membersection{wxImageHandler::GetExtension}
|
|
|
|
\constfunc{wxString}{GetExtension}{\void}
|
|
|
|
Gets the file extension associated with this handler.
|
|
|
|
\membersection{wxImageHandler::GetImageCount}\label{wximagehandlergetimagecount}
|
|
|
|
\func{int}{GetImageCount}{\param{wxInputStream\&}{ stream}}
|
|
|
|
If the image file contains more than one image and the image handler is capable
|
|
of retrieving these individually, this function will return the number of
|
|
available images.
|
|
|
|
\docparam{stream}{Opened input stream for reading image data. Currently, the stream must support seeking.}
|
|
|
|
\wxheading{Return value}
|
|
|
|
Number of available images. For most image handles, this defaults to 1.
|
|
|
|
\membersection{wxImageHandler::GetType}
|
|
|
|
\constfunc{long}{GetType}{\void}
|
|
|
|
Gets the image type associated with this handler.
|
|
|
|
\membersection{wxImageHandler::GetMimeType}
|
|
|
|
\constfunc{wxString}{GetMimeType}{\void}
|
|
|
|
Gets the MIME type associated with this handler.
|
|
|
|
\membersection{wxImageHandler::LoadFile}\label{wximagehandlerloadfile}
|
|
|
|
\func{bool}{LoadFile}{\param{wxImage* }{image}, \param{wxInputStream\&}{ stream}, \param{bool}{ verbose=TRUE}, \param{int}{ index=0}}
|
|
|
|
Loads a image from a stream, putting the resulting data into {\it image}. If the image file contains
|
|
more than one image and the image handler is capable of retrieving these individually, {\it index}
|
|
indicates which image to read from the stream.
|
|
|
|
\wxheading{Parameters}
|
|
|
|
\docparam{image}{The image object which is to be affected by this operation.}
|
|
|
|
\docparam{stream}{Opened input stream for reading image data.}
|
|
|
|
\docparam{verbose}{If set to TRUE, errors reported by the image handler will produce wxLogMessages.}
|
|
|
|
\docparam{index}{The index of the image in the file (starting from zero).}
|
|
|
|
\wxheading{Return value}
|
|
|
|
TRUE if the operation succeeded, FALSE otherwise.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxImage::LoadFile}{wximageloadfile},
|
|
\helpref{wxImage::SaveFile}{wximagesavefile},
|
|
\helpref{wxImageHandler::SaveFile}{wximagehandlersavefile}
|
|
|
|
\membersection{wxImageHandler::SaveFile}\label{wximagehandlersavefile}
|
|
|
|
\func{bool}{SaveFile}{\param{wxImage* }{image}, \param{wxOutputStream\& }{stream}}
|
|
|
|
Saves a image in the output stream.
|
|
|
|
\wxheading{Parameters}
|
|
|
|
\docparam{image}{The image object which is to be affected by this operation.}
|
|
|
|
\docparam{stream}{Opened output stream for writing the data.}
|
|
|
|
\wxheading{Return value}
|
|
|
|
TRUE if the operation succeeded, FALSE otherwise.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxImage::LoadFile}{wximageloadfile},
|
|
\helpref{wxImage::SaveFile}{wximagesavefile},
|
|
\helpref{wxImageHandler::LoadFile}{wximagehandlerloadfile}
|
|
|
|
\membersection{wxImageHandler::SetName}
|
|
|
|
\func{void}{SetName}{\param{const wxString\& }{name}}
|
|
|
|
Sets the handler name.
|
|
|
|
\wxheading{Parameters}
|
|
|
|
\docparam{name}{Handler name.}
|
|
|
|
\membersection{wxImageHandler::SetExtension}
|
|
|
|
\func{void}{SetExtension}{\param{const wxString\& }{extension}}
|
|
|
|
Sets the handler extension.
|
|
|
|
\wxheading{Parameters}
|
|
|
|
\docparam{extension}{Handler extension.}
|
|
|
|
\membersection{wxImageHandler::SetMimeType}\label{wximagehandlersetmimetype}
|
|
|
|
\func{void}{SetMimeType}{\param{const wxString\& }{mimetype}}
|
|
|
|
Sets the handler MIME type.
|
|
|
|
\wxheading{Parameters}
|
|
|
|
\docparam{mimename}{Handler MIME type.}
|
|
|
|
\membersection{wxImageHandler::SetType}
|
|
|
|
\func{void}{SetType}{\param{long }{type}}
|
|
|
|
Sets the handler type.
|
|
|
|
\wxheading{Parameters}
|
|
|
|
\docparam{name}{Handler type.}
|
|
|