]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/image.tex
changed wxCondition API to take a reference, not pointer, to wxMutex
[wxWidgets.git] / docs / latex / wx / image.tex
index 84845e8189cb2b55506dbb83faf1474c5b4b136a..574391e7c1d947bf52913c410c07ee89aabab50b 100644 (file)
@@ -24,16 +24,18 @@ handler with \helpref{wxImage::AddHandler}{wximageaddhandler} or
 
 \twocolwidtha{5cm}%
 \begin{twocollist}
 
 \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{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{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
 \end{twocollist}
 
 When saving in PCX format, {\bf wxPCXHandler} will count the number of
@@ -122,15 +124,16 @@ Loads an image from an input stream.
 \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\_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}}
 
 \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.
 \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 
+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 
 "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.}
+the GIF and TIFF handler and as the largest and most colourful one by the ICO handler.}
 
 \wxheading{Remarks}
 
 
 \wxheading{Remarks}
 
@@ -143,8 +146,8 @@ initialized with \helpref{wxImage::AddHandler}{wximageaddhandler} or
 Note: you can use \helpref{GetOptionInt}{wximagegetoptionint} to get the 
 hotspot for loaded cursor file:
 \begin{verbatim}
 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);
+    int hotspot_x = image.GetOptionInt(wxIMAGE_OPTION_CUR_HOTSPOT_X);
+    int hotspot_y = image.GetOptionInt(wxIMAGE_OPTION_CUR_HOTSPOT_Y);
 
 \end{verbatim}
 
 
 \end{verbatim}
 
@@ -194,6 +197,10 @@ of a given handler class in an application session.}
 
 \helpref{wxImageHandler}{wximagehandler}
 
 
 \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}
 
 \pythonnote{In wxPython this static method is named {\tt wxImage\_AddHandler}.}
 \membersection{wxImage::CleanUpHandlers}
 
@@ -203,6 +210,32 @@ Deletes all image handlers.
 
 This function is called by wxWindows on exit.
 
 
 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}
 \membersection{wxImage::ConvertToBitmap}\label{wximageconverttobitmap}
 
 \constfunc{wxBitmap}{ConvertToBitmap}{\void}
@@ -324,11 +357,11 @@ chararcters in RGBGBRGB... format.
 
 Returns the green intensity at the given coordinate.
 
 
 Returns the green intensity at the given coordinate.
 
-\membersection{wxImage::GetImagesCount}\label{wximagegetimagescount}
+\membersection{wxImage::GetImageCount}\label{wximagegetimagecount}
 
 
-\func{static int}{GetImagesCount}{\param{const wxString\&}{ filename}, \param{long}{ type = wxBITMAP\_TYPE\_ANY}}
+\func{static int}{GetImageCount}{\param{const wxString\&}{ filename}, \param{long}{ type = wxBITMAP\_TYPE\_ANY}}
 
 
-\func{static int}{GetImagesCount}{\param{wxInputStream\&}{ stream}, \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
 
 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
@@ -352,6 +385,7 @@ available images.
 \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\_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}}
 
 \twocolitem{\indexit{wxBITMAP\_TYPE\_ANY}}{Will try to autodetect the format.}
 \end{twocollist}}
 
@@ -534,15 +568,16 @@ Loads an image from an input stream.
 \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\_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{\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.
 \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 
+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 
 "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.}
+the GIF and TIFF handler and as the largest and most colourful one by the ICO handler.}
 
 \wxheading{Remarks}
 
 
 \wxheading{Remarks}
 
@@ -551,14 +586,15 @@ 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}
 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);
+    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}
 
 
 \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}
 
 
 \wxheading{See also}
 
@@ -607,17 +643,23 @@ TRUE if the handler was found and removed, FALSE otherwise.
 
 \membersection{wxImage::SaveFile}\label{wximagesavefile}
 
 
 \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}}
+
+\constfunc{bool}{SaveFile}{\param{const wxString\& }{name}, \param{const wxString\&}{ mimetype}}
+
+Saves an image in the named file.
 
 
-\func{bool}{SaveFile}{\param{const wxString\& }{name}, \param{const wxString\&}{ mimetype}}
+\constfunc{bool}{SaveFile}{\param{const wxString\& }{name}}
 
 
-Saves a image in the named file.
+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.
 
 
-\func{bool}{SaveFile}{\param{wxOutputStream\& }{stream}, \param{int}{ type}}
+\constfunc{bool}{SaveFile}{\param{wxOutputStream\& }{stream}, \param{int}{ type}}
 
 
-\func{bool}{SaveFile}{\param{wxOutputStream\& }{stream}, \param{const wxString\&}{ mimetype}}
+\constfunc{bool}{SaveFile}{\param{wxOutputStream\& }{stream}, \param{const wxString\&}{ mimetype}}
 
 
-Saves a image in the given stream.
+Saves an image in the given stream.
 
 \wxheading{Parameters}
 
 
 \wxheading{Parameters}
 
@@ -625,17 +667,17 @@ Saves a image in the given stream.
 
 \docparam{stream}{Opened output stream to save the image to.}
 
 
 \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}
 
 \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\_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. }
 \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}}
 \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}}
@@ -654,8 +696,8 @@ 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}
 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);
+    image.SetOption(wxIMAGE_OPTION_CUR_HOTSPOT_X, hotspotX);
+    image.SetOption(wxIMAGE_OPTION_CUR_HOTSPOT_Y, hotspotY);
 
 \end{verbatim}
 
 
 \end{verbatim}
 
@@ -943,9 +985,9 @@ Gets the name of this handler.
 
 Gets the file extension associated with this handler.
 
 
 Gets the file extension associated with this handler.
 
-\membersection{wxImageHandler::GetImagesCount}\label{wximagehandlergetimagescount}
+\membersection{wxImageHandler::GetImageCount}\label{wximagehandlergetimagecount}
 
 
-\func{int}{GetImagesCount}{\param{wxInputStream\&}{ stream}}
+\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
 
 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