X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b86e511a9bde666590061c8f74d5fed150442c83..d7d176241e313dc60b47cc967ddbc6018309d286:/docs/latex/wx/image.tex diff --git a/docs/latex/wx/image.tex b/docs/latex/wx/image.tex index f09e48e215..28aadc6a22 100644 --- a/docs/latex/wx/image.tex +++ b/docs/latex/wx/image.tex @@ -32,6 +32,8 @@ handler with \helpref{wxImage::AddHandler}{wximageaddhandler} or \twocolitem{\indexit{wxPNMHandler}}{For loading and saving (see below).} \twocolitem{\indexit{wxTIFFHandler}}{For loading and saving.} \twocolitem{\indexit{wxXPMHandler}}{For loading and saving.} +\twocolitem{\indexit{wxICOHandler}}{For loading and saving.} +\twocolitem{\indexit{wxCURHandler}}{For loading and saving.} \end{twocollist} When saving in PCX format, {\bf wxPCXHandler} will count the number of @@ -77,22 +79,22 @@ and forth without loss in that respect. 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}} +\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 +{\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{long}{ type = wxBITMAP\_TYPE\_ANY}, \param{int}{ index = -1}} -\func{}{wxImage}{\param{const wxString\& }{name}, \param{const wxString\&}{ mimetype}} +\func{}{wxImage}{\param{const wxString\& }{name}, \param{const wxString\&}{ mimetype}, \param{int}{ index = -1}} Loads an image from a file. -\func{}{wxImage}{\param{wxInputStream\& }{stream}, \param{long}{ type = wxBITMAP\_TYPE\_ANY}} +\func{}{wxImage}{\param{wxInputStream\& }{stream}, \param{long}{ type = wxBITMAP\_TYPE\_ANY}, \param{int}{ index = -1}} -\func{}{wxImage}{\param{wxInputStream\& }{stream}, \param{const wxString\&}{ mimetype}} +\func{}{wxImage}{\param{wxInputStream\& }{stream}, \param{const wxString\&}{ mimetype}, \param{int}{ index = -1}} Loads an image from an input stream. @@ -118,11 +120,18 @@ Loads an image from an input stream. \twocolitem{\indexit{wxBITMAP\_TYPE\_PNM}}{Load a PNM bitmap file.} \twocolitem{\indexit{wxBITMAP\_TYPE\_TIF}}{Load a TIFF bitmap file.} \twocolitem{\indexit{wxBITMAP\_TYPE\_XPM}}{Load a XPM bitmap file.} +\twocolitem{\indexit{wxBITMAP\_TYPE\_ICO}}{Load a Windows icon file (ICO).} +\twocolitem{\indexit{wxBITMAP\_TYPE\_CUR}}{Load a Windows cursor file (CUR).} \twocolitem{\indexit{wxBITMAP\_TYPE\_ANY}}{Will try to autodetect the format.} \end{twocollist}} \docparam{mimetype}{MIME type string (for example 'image/jpeg')} +\docparam{index}{Index of the image to load in the case that the image file contains multiple images. +This is only used by ICO and TIFF handlers. The default value (-1) means +"choose the default image" and is interpreted as the first image (index=0) by +the TIFF handler and as the largest and most colourful one by the ICO handler.} + \wxheading{Remarks} Depending on how wxWindows has been configured, not all formats may be available. @@ -131,6 +140,14 @@ Note: any handler other than BMP must be previously initialized with \helpref{wxImage::AddHandler}{wximageaddhandler} or \helpref{wxInitAllImageHandlers}{wxinitallimagehandlers}. +Note: you can use \helpref{GetOptionInt}{wximagegetoptionint} to get the +hotspot for loaded cursor file: +\begin{verbatim} + int hotspot_x = image.GetOptionInt(wxCUR_HOTSPOT_X); + int hotspot_y = image.GetOptionInt(wxCUR_HOTSPOT_Y); + +\end{verbatim} + \wxheading{See also} \helpref{wxImage::LoadFile}{wximageloadfile} @@ -177,7 +194,7 @@ of a given handler class in an application session.} \helpref{wxImageHandler}{wximagehandler} -\pythonnote{In wxPython this static method is named {\tt wxImage_AddHandler}.} +\pythonnote{In wxPython this static method is named {\tt wxImage\_AddHandler}.} \membersection{wxImage::CleanUpHandlers} \func{static void}{CleanUpHandlers}{\void} @@ -229,6 +246,30 @@ TRUE if the call succeeded, FALSE otherwise. Destroys the image data. +\membersection{wxImage::FindFirstUnusedColour}\label{wximagefindfirstunusedcolour} + +\func{bool}{FindFirstUnusedColour}{\param{unsigned char *}{ r}, \param{unsigned char *}{ g}, \param{unsigned char *}{ b}, \param{unsigned char}{ startR = 1}, \param{unsigned char}{ startG = 0}, \param{unsigned char}{ startB = 0}} + +\wxheading{Parameters} + +\docparam{r,g,b}{Pointers to variables to save the colour.} + +\docparam{startR,startG,startB}{Initial values of the colour. Returned colour +will have RGB values equal to or greater than these.} + +Finds the first colour that is never used in the image. The search begins at +given initial colour and continues by increasing R, G and B components (in this +order) by 1 until an unused colour is found or the colour space exhausted. + +\wxheading{Return value} + +Returns FALSE if there is no unused colour left, TRUE on success. + +\wxheading{Notes} + +Note that this method involves computing the histogram, which is +computationally intensive operation. + \membersection{wxImage::FindHandler} \func{static wxImageHandler*}{FindHandler}{\param{const wxString\& }{name}} @@ -283,6 +324,42 @@ chararcters in RGBGBRGB... format. Returns the green intensity at the given coordinate. +\membersection{wxImage::GetImageCount}\label{wximagegetimagecount} + +\func{static int}{GetImageCount}{\param{const wxString\&}{ filename}, \param{long}{ type = wxBITMAP\_TYPE\_ANY}} + +\func{static int}{GetImageCount}{\param{wxInputStream\&}{ stream}, \param{long}{ type = wxBITMAP\_TYPE\_ANY}} + +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{name}{Name of the file to query.} + +\docparam{stream}{Opened input stream with image data. Currently, the stream must support seeking.} + +\docparam{type}{May be one of the following: + +\twocolwidtha{5cm}% +\begin{twocollist} +\twocolitem{\indexit{wxBITMAP\_TYPE\_BMP}}{Load a Windows bitmap file.} +\twocolitem{\indexit{wxBITMAP\_TYPE\_GIF}}{Load a GIF bitmap file.} +\twocolitem{\indexit{wxBITMAP\_TYPE\_JPEG}}{Load a JPEG bitmap file.} +\twocolitem{\indexit{wxBITMAP\_TYPE\_PNG}}{Load a PNG bitmap file.} +\twocolitem{\indexit{wxBITMAP\_TYPE\_PCX}}{Load a PCX bitmap file.} +\twocolitem{\indexit{wxBITMAP\_TYPE\_PNM}}{Load a PNM bitmap file.} +\twocolitem{\indexit{wxBITMAP\_TYPE\_TIF}}{Load a TIFF bitmap file.} +\twocolitem{\indexit{wxBITMAP\_TYPE\_XPM}}{Load a XPM bitmap file.} +\twocolitem{\indexit{wxBITMAP\_TYPE\_ICO}}{Load a Windows icon file (ICO).} +\twocolitem{\indexit{wxBITMAP\_TYPE\_CUR}}{Load a Windows cursor file (CUR).} +\twocolitem{\indexit{wxBITMAP\_TYPE\_ANY}}{Will try to autodetect the format.} +\end{twocollist}} + +\wxheading{Return value} + +Number of available images. For most image handlers, this is 1 (exceptions +are TIFF and ICO formats). + \membersection{wxImage::GetRed}\label{wximagegetred} \constfunc{unsigned char}{GetRed}{\param{int}{ x}, \param{int}{ y}} @@ -424,16 +501,16 @@ of a given handler class in an application session.} \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{long}{ type = wxBITMAP\_TYPE\_ANY}, \param{int}{ index = -1}} -\func{bool}{LoadFile}{\param{const wxString\&}{ name}, \param{const wxString\&}{ mimetype}} +\func{bool}{LoadFile}{\param{const wxString\&}{ name}, \param{const wxString\&}{ mimetype}, \param{int}{ index = -1}} 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{long}{ type}, \param{int}{ index = -1}} -\func{bool}{LoadFile}{\param{wxInputStream\&}{ stream}, \param{const wxString\&}{ mimetype}} +\func{bool}{LoadFile}{\param{wxInputStream\&}{ stream}, \param{const wxString\&}{ mimetype}, \param{int}{ index = -1}} Loads an image from an input stream. @@ -455,15 +532,30 @@ Loads an image from an input stream. \twocolitem{{\bf wxBITMAP\_TYPE\_PNM}}{Load a PNM image file.} \twocolitem{{\bf wxBITMAP\_TYPE\_TIF}}{Load a TIFF image file.} \twocolitem{{\bf wxBITMAP\_TYPE\_XPM}}{Load a XPM image file.} +\twocolitem{{\bf wxBITMAP\_TYPE\_ICO}}{Load a Windows icon file (ICO).} +\twocolitem{{\bf wxBITMAP\_TYPE\_CUR}}{Load a Windows cursor file (CUR).} \twocolitem{{\bf wxBITMAP\_TYPE\_ANY}}{Will try to autodetect the format.} \end{twocollist}} \docparam{mimetype}{MIME type string (for example 'image/jpeg')} +\docparam{index}{Index of the image to load in the case that the image file contains multiple images. +This is only used by ICO and TIFF handlers. The default value (-1) means +"choose the default image" and is interpreted as the first image (index=0) by +the TIFF handler and as the largest and most colourful one by the ICO handler.} + \wxheading{Remarks} Depending on how wxWindows has been configured, not all formats may be available. +Note: you can use \helpref{GetOptionInt}{wximagegetoptionint} to get the +hotspot for loaded cursor file: +\begin{verbatim} + int hotspot_x = image.GetOptionInt(wxCUR_HOTSPOT_X); + int hotspot_y = image.GetOptionInt(wxCUR_HOTSPOT_Y); + +\end{verbatim} + \wxheading{Return value} TRUE if the operation succeeded, FALSE otherwise. @@ -543,6 +635,9 @@ Saves a image in the given stream. \twocolitem{{\bf wxBITMAP\_TYPE\_PNM}}{Save a PNM image file (as raw RGB always).} \twocolitem{{\bf wxBITMAP\_TYPE\_TIFF}}{Save a TIFF image file.} \twocolitem{{\bf wxBITMAP\_TYPE\_XPM}}{Save a XPM image file.} +\twocolitem{{\bf wxBITMAP\_TYPE\_ICO}}{Save a ICO image file. } +\twocolitem{{\bf wxBITMAP\_TYPE\_ICO}}{Save a Windows icon file (ICO) (the size may be up to 255 wide by 127 high. A single image is saved in 8 colors at the size supplied).} +\twocolitem{{\bf wxBITMAP\_TYPE\_CUR}}{Save a Windows cursor file (CUR).} \end{twocollist}} \docparam{mimetype}{MIME type.} @@ -555,6 +650,15 @@ TRUE if the operation succeeded, FALSE otherwise. Depending on how wxWindows has been configured, not all formats may be available. +Note: you can use \helpref{GetOptionInt}{wximagegetoptionint} to set the +hotspot before saving an image into a cursor file (default hotspot is in +the centre of the image): +\begin{verbatim} + image.SetOption(wxCUR_HOTSPOT_X, hotspotX); + image.SetOption(wxCUR_HOTSPOT_Y, hotspotY); + +\end{verbatim} + \wxheading{See also} \helpref{wxImage::LoadFile}{wximageloadfile} @@ -676,6 +780,33 @@ Specifies whether there is a mask or not. The area of the mask is determined by Sets the mask colour for this image (and tells the image to use the mask). +\membersection{wxImage::SetMaskFromImage}\label{wximagesetmaskfromimage} + +\func{bool}{SetMaskFromImage}{\param{const wxImage\&}{ mask}, \param{unsigned char}{ mr}, \param{unsigned char}{ mg}, \param{unsigned char}{ mb}} + +\wxheading{Parameters} + +\docparam{mask}{The mask image to extract mask shape from. Must have same dimensions as the image.} + +\docparam{mr,mg,mb}{RGB value of pixels in {\it mask} that will be used to create the mask.} + +Sets image's mask so that the pixels that have RGB value of {\it mr,mg,mb} +in {\it mask} will be masked in the image. This is done by first finding an +unused colour in the image, setting this colour as the mask colour and then +using this colour to draw all pixels in the image who corresponding pixel +in {\it mask} has given RGB value. + +\wxheading{Return value} + +Returns FALSE if {\it mask} does not have same dimensions as the image or if +there is no unused colour left. Returns TRUE if the mask was successfully +applied. + +\wxheading{Notes} + +Note that this method involves computing the histogram, which is +computationally intensive operation. + \membersection{wxImage::SetOption}\label{wximagesetoption} \func{void}{SetOption}{\param{const wxString\&}{ name}, \param{const wxString\&}{ value}} @@ -824,7 +955,8 @@ available images. \wxheading{Return value} -Number of available images. For most image handles, this defaults to 1. +Number of available images. For most image handlers, this is 1 (exceptions +are TIFF and ICO formats). \membersection{wxImageHandler::GetType}