X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/37b83ca6394e9c805211b724ff6013b02d190a79..a84ece11fffdde5d1bbd254ba58ac3cee79c2e77:/docs/latex/wx/image.tex diff --git a/docs/latex/wx/image.tex b/docs/latex/wx/image.tex index 30c7afb2cb..574391e7c1 100644 --- a/docs/latex/wx/image.tex +++ b/docs/latex/wx/image.tex @@ -24,15 +24,18 @@ handler with \helpref{wxImage::AddHandler}{wximageaddhandler} or \twocolwidtha{5cm}% \begin{twocollist} -\twocolitem{\indexit{wxBMPHandler}}{Only for loading, always installed.} +\twocolitem{\indexit{wxBMPHandler}}{For loading and saving, always installed.} \twocolitem{\indexit{wxPNGHandler}}{For loading and saving.} \twocolitem{\indexit{wxJPEGHandler}}{For loading and saving.} \twocolitem{\indexit{wxGIFHandler}}{Only for loading, due to legal issues.} \twocolitem{\indexit{wxPCXHandler}}{For loading and saving (see below).} \twocolitem{\indexit{wxPNMHandler}}{For loading and saving (see below).} \twocolitem{\indexit{wxTIFFHandler}}{For loading and saving.} +\twocolitem{\indexit{wxIFFHandler}}{For loading only.} \twocolitem{\indexit{wxXPMHandler}}{For loading and saving.} \twocolitem{\indexit{wxICOHandler}}{For loading and saving.} +\twocolitem{\indexit{wxCURHandler}}{For loading and saving.} +\twocolitem{\indexit{wxANIHandler}}{For loading only.} \end{twocollist} When saving in PCX format, {\bf wxPCXHandler} will count the number of @@ -85,15 +88,15 @@ Creates an image from given data with the given width and height. If 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. @@ -119,12 +122,19 @@ 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 ICO Icon 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\_ANI}}{Load a Windows animated cursor file (ANI).} \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 GIF, ICO and TIFF handlers. The default value (-1) means +"choose the default image" and is interpreted as the first image (index=0) by +the GIF and 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. @@ -133,6 +143,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(wxIMAGE_OPTION_CUR_HOTSPOT_X); + int hotspot_y = image.GetOptionInt(wxIMAGE_OPTION_CUR_HOTSPOT_Y); + +\end{verbatim} + \wxheading{See also} \helpref{wxImage::LoadFile}{wximageloadfile} @@ -179,6 +197,10 @@ of a given handler class in an application session.} \helpref{wxImageHandler}{wximagehandler} +\func{bool}{CanRead}{\param{const wxString\&}{ filename}} + +returns TRUE if the current image handlers can read this file + \pythonnote{In wxPython this static method is named {\tt wxImage\_AddHandler}.} \membersection{wxImage::CleanUpHandlers} @@ -188,6 +210,32 @@ Deletes all image handlers. This function is called by wxWindows on exit. +\membersection{wxImage::ComputeHistogram}\label{wximagecomputehistogram} + +\constfunc{unsigned long}{ComputeHistogram}{\param{wxImageHistogram\& }{histogram}} + +Computes the histogram of the image. {\it histogram} is a reference to +wxImageHistogram object. wxImageHistogram is a specialization of +\helpref{wxHashMap}{wxhashmap} "template" and is defined as follows: + +\begin{verbatim} +class WXDLLEXPORT wxImageHistogramEntry +{ +public: + wxImageHistogramEntry() : index(0), value(0) {} + unsigned long index; + unsigned long value; +}; + +WX_DECLARE_EXPORTED_HASH_MAP(unsigned long, wxImageHistogramEntry, + wxIntegerHash, wxIntegerEqual, + wxImageHistogram); +\end{verbatim} + +\wxheading{Return value} + +Returns number of colours in the histogram. + \membersection{wxImage::ConvertToBitmap}\label{wximageconverttobitmap} \constfunc{wxBitmap}{ConvertToBitmap}{\void} @@ -309,6 +357,43 @@ 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\_ANI}}{Load a Windows animated cursor file (ANI).} +\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}} @@ -450,16 +535,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. @@ -481,21 +566,35 @@ 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 ICO icon file.} +\twocolitem{{\bf wxBITMAP\_TYPE\_ICO}}{Load a Windows icon file (ICO).} +\twocolitem{{\bf wxBITMAP\_TYPE\_CUR}}{Load a Windows cursor file (CUR).} +\twocolitem{\indexit{wxBITMAP\_TYPE\_ANI}}{Load a Windows animated cursor file (ANI).} \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 GIF, ICO and TIFF handlers. The default value (-1) means +"choose the default image" and is interpreted as the first image (index=0) by +the GIF and 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. -wxBITMAP\_TYPE\_ICO will laod the largest image found, with the most colours +Note: you can use \helpref{GetOptionInt}{wximagegetoptionint} to get the +hotspot for loaded cursor file: +\begin{verbatim} + int hotspot_x = image.GetOptionInt(wxIMAGE_OPTION_CUR_HOTSPOT_X); + int hotspot_y = image.GetOptionInt(wxIMAGE_OPTION_CUR_HOTSPOT_Y); + +\end{verbatim} \wxheading{Return value} -TRUE if the operation succeeded, FALSE otherwise. +TRUE if the operation succeeded, FALSE otherwise. If the optional index parameter is out of range, +FALSE is returned and a call to wxLogError() takes place. \wxheading{See also} @@ -544,17 +643,23 @@ TRUE if the handler was found and removed, FALSE otherwise. \membersection{wxImage::SaveFile}\label{wximagesavefile} -\func{bool}{SaveFile}{\param{const wxString\& }{name}, \param{int}{ type}} +\constfunc{bool}{SaveFile}{\param{const wxString\& }{name}, \param{int}{ type}} -\func{bool}{SaveFile}{\param{const wxString\& }{name}, \param{const wxString\&}{ mimetype}} +\constfunc{bool}{SaveFile}{\param{const wxString\& }{name}, \param{const wxString\&}{ mimetype}} -Saves a image in the named file. +Saves an image in the named file. -\func{bool}{SaveFile}{\param{wxOutputStream\& }{stream}, \param{int}{ type}} +\constfunc{bool}{SaveFile}{\param{const wxString\& }{name}} -\func{bool}{SaveFile}{\param{wxOutputStream\& }{stream}, \param{const wxString\&}{ mimetype}} +Saves an image in the named file. File type is determined from the extension of the +file name. Note that this function may fail if the extension is not recognized! You +can use one of the forms above to save images to files with non-standard extensions. -Saves a image in the given stream. +\constfunc{bool}{SaveFile}{\param{wxOutputStream\& }{stream}, \param{int}{ type}} + +\constfunc{bool}{SaveFile}{\param{wxOutputStream\& }{stream}, \param{const wxString\&}{ mimetype}} + +Saves an image in the given stream. \wxheading{Parameters} @@ -562,17 +667,19 @@ Saves a image in the given stream. \docparam{stream}{Opened output stream to save the image to.} -\docparam{type}{Currently three types can be used: +\docparam{type}{Currently these types can be used: \twocolwidtha{5cm}% \begin{twocollist} +\twocolitem{{\bf wxBITMAP\_TYPE\_BMP}}{Save a BMP image file.} \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).} \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. (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\_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.} @@ -585,6 +692,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(wxIMAGE_OPTION_CUR_HOTSPOT_X, hotspotX); + image.SetOption(wxIMAGE_OPTION_CUR_HOTSPOT_Y, hotspotY); + +\end{verbatim} + \wxheading{See also} \helpref{wxImage::LoadFile}{wximageloadfile} @@ -881,7 +997,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}