]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/image.tex
Defer retrieval of LANG env var, too. No memory management
[wxWidgets.git] / docs / latex / wx / image.tex
index 281fd8a7e1caa61732c88a036441b637abd5d826..8325f4be631f8de1e581c93901d436d2b7615a57 100644 (file)
@@ -10,12 +10,14 @@ A wxImage cannot (currently) be drawn directly to a wxDC. Instead, a platform-sp
 wxBitmap object must be created from it, and that bitmap drawn on the wxDC, using
 wxDC::DrawBitmap.
 
-This class is currently only available under GTK and Windows.
-
 \wxheading{Derived from}
 
 \helpref{wxObject}{wxobject}
 
+\wxheading{Include files}
+
+<wx/image.h>
+
 \wxheading{See also}
 
 \helpref{wxBitmap}{wxbitmap}
@@ -42,10 +44,18 @@ and forth without loss in that respect.
 
 Creates an image with the given width and height.
 
-\func{}{wxImage}{\param{const wxString\& }{name}, \param{long}{ type = wxIMAGE\_TYPE\_PNG}}
+\func{}{wxImage}{\param{const wxString\& }{name}, \param{long}{ type = wxBITMAP\_TYPE\_PNG}}
+
+\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\_PNG}}
+
+\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.}
@@ -54,19 +64,27 @@ Loads an image from a file.
 
 \docparam{name}{This refers to an image filename. Its meaning is determined by the {\it type} parameter.}
 
+\docparam{stream}{This refers to an input stream. Its meaning is determined by the {\it type} parameter. It is equal to loading from file except that you provide opened stream (file, HTTP or any other custom class).}
+
 \docparam{type}{May be one of the following:
 
-\twocolwidtha{5cm}
+\twocolwidtha{5cm}%
 \begin{twocollist}
-\twocolitem{{\bf \indexit{wxIMAGE\_TYPE\_BMP}}}{Load a Windows bitmap file.}
-\twocolitem{{\bf \indexit{wxIMAGE\_TYPE\_PNG}}}{Load a PNG bitmap file.}
+\twocolitem{{\bf \indexit{wxBITMAP\_TYPE\_BMP}}}{Load a Windows bitmap file.}
+\twocolitem{{\bf \indexit{wxBITMAP\_TYPE\_PNG}}}{Load a PNG bitmap file.}
+\twocolitem{{\bf \indexit{wxBITMAP\_TYPE\_JPEG}}}{Load a JPEG bitmap file.}
 \end{twocollist}
 
 The validity of these flags depends on the platform and wxWindows configuration.
-If all possible wxWindows settings are used, the loading a BMP (Windows bitmap) file
-and a PNG (portable network graphics) file is supported on all platforms that
+If all possible wxWindows settings are used, the loading a BMP (Windows bitmap) file,
+a PNG (portable network graphics) file and a JPEG file is supported on all platforms that
 implement wxImage.}
 
+\docparam{mimetype}{MIME type string (for example 'image/jpeg')}
+
+Note : you must call wxImage::AddHandler(new wxJPEGHandler) during application 
+initialization in order to work with JPEGs.
+
 \wxheading{See also}
 
 \helpref{wxImage::LoadFile}{wximageloadfile}
@@ -105,10 +123,9 @@ This function is called by wxWindows on exit.
 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 (crude) colour reduction has to take place. Especially when converting
-to 8-bit (or even less) bitmaps, the routine is slow and will reduce the
-quality of the resulting bitmap. A proper set of colour reduction methods has
-not yet been written.
+that a (crude) colour reduction has to take place. When in 8-bit mode, this
+routine will use a color cube created on program start-up to look up colors.
+Still, the image quality won't be perfect for photo images.
 
 \membersection{wxImage::Create}\label{wximagecreate}
 
@@ -146,11 +163,17 @@ Finds the handler associated with the given extension and type.
 
 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 wxIMAGE\_TYPE\_BMP.}
+\docparam{imageType}{The image type, such as wxBITMAP\_TYPE\_BMP.}
+
+\docparam{mimetype}{MIME type.}
 
 \wxheading{Return value}
 
@@ -241,8 +264,8 @@ Returns TRUE if there is a mask active, FALSE otherwise.
 \func{static void}{InitStandardHandlers}{\void}
 
 Adds the standard image format handlers, which, depending on wxWindows
-configuration, can be handlers for Windows BMP (loading) and PNG
-(loading and saving) file formats.
+configuration, can be handlers for Windows BMP (loading), PNG
+(loading and saving) and JPEG (loading and saving) file formats.
 
 This function is called by wxWindows on startup.
 
@@ -267,23 +290,37 @@ of a given handler class in an application session.}
 
 \func{bool}{LoadFile}{\param{const wxString\&}{ name}, \param{long}{ type}}
 
+\func{bool}{LoadFile}{\param{const wxString\&}{ name}, \param{const wxString\&}{ mimetype}}
+
 Loads an image from a file.
 
+\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}{A filename.
 The meaning of {\it name} is determined by the {\it type} parameter.}
 
+\docparam{stream}{An input stream.
+The meaning of {\it stream} data is determined by the {\it type} parameter.}
+
 \docparam{type}{One of the following values:
 
-\twocolwidtha{5cm}
+\twocolwidtha{5cm}%
 \begin{twocollist}
-\twocolitem{{\bf wxIMAGE\_TYPE\_BMP}}{Load a Windows image file.}
-\twocolitem{{\bf wxIMAGE\_TYPE\_PNG}}{Load a PNG image file.}
+\twocolitem{{\bf wxBITMAP\_TYPE\_BMP}}{Load a Windows image file.}
+\twocolitem{{\bf wxBITMAP\_TYPE\_PNG}}{Load a PNG image file.}
+\twocolitem{{\bf wxBITMAP\_TYPE\_JPEG}}{Load a JPEG image file.}
 \end{twocollist}
 
 The validity of these flags depends on the platform and wxWindows configuration.}
 
+\docparam{mimetype}{MIME type string (for example 'image/jpeg')}
+
 \wxheading{Return value}
 
 TRUE if the operation succeeded, FALSE otherwise.
@@ -319,22 +356,35 @@ TRUE if the handler was found and removed, FALSE otherwise.
 
 \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}{A filename. The meaning of {\it name} is determined by the {\it type} parameter.}
 
-\docparam{type}{Currently only one type can be used:
+\docparam{stream}{An output stream. The meaning of {\it stream} is determined by the {\it type} parameter.}
+
+\docparam{type}{Currently two types can be used:
 
-\twocolwidtha{5cm}
+\twocolwidtha{5cm}%
 \begin{twocollist}
-\twocolitem{{\bf wxIMAGE\_TYPE\_PNG}}{Save a PNG image file.}
+\twocolitem{{\bf wxBITMAP\_TYPE\_PNG}}{Save a PNG image file.}
+\twocolitem{{\bf wxBITMAP\_TYPE\_JPEG}}{Save a JPEG image file.}
 \end{twocollist}
 
 The validity of these flags depends on the platform and wxWindows configuration
 as well as user-added handlers.}
 
+\docparam{mimetype}{MIME type.}
+
 \wxheading{Return value}
 
 TRUE if the operation succeeded, FALSE otherwise.
@@ -353,9 +403,9 @@ Depending on how wxWindows has been configured, not all formats may be available
 
 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 do blit a wxMemoryDC into another wxMemoryDC. Windows can such scaling
-itself, but on GTK scaling bitmaps is done using this routine 
-internally.
+is to blit a wxMemoryDC into another wxMemoryDC. Windows can do such 
+scaling itself but in the GTK port, scaling bitmaps is done using 
+this routine internally.
 
 \membersection{wxImage::SetData}\label{wximagesetdata}
 
@@ -375,7 +425,7 @@ Specifies whether there is a mask or not. The area of the mask is determined by
 
 \func{void}{SetMaskColour}{\param{unsigned char }{red}, \param{unsigned char }{blue}, \param{unsigned char }{green}}
 
-Sets the mask colour for this image.
+Sets the mask colour for this image (and tells the image to use the mask).
 
 \membersection{wxImage::SetRGB}\label{wximagesetrgb}
 
@@ -441,10 +491,21 @@ If you wish to extend the capabilities of wxImage, derive a class from wxImageHa
 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}
@@ -482,18 +543,24 @@ Gets the file extension associated with this handler.
 
 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{const wxString\&}{ name}}
+\func{bool}{LoadFile}{\param{wxImage* }{image}, \param{wxInputStream\&}{ stream}}
 
-Loads a image from a file or resource, putting the resulting data into {\it image}.
+Loads a image from a stream, putting the resulting data into {\it image}.
 
 \wxheading{Parameters}
 
 \docparam{image}{The image object which is to be affected by this operation.}
 
-\docparam{name}{Either a filename or a Windows resource name.
-The meaning of {\it name} is determined by the {\it type} parameter.}
+\docparam{stream}{Opened input stream.
+The meaning of {\it stream} is determined by the {\it type} parameter.}
 
 \wxheading{Return value}
 
@@ -507,15 +574,15 @@ TRUE if the operation succeeded, FALSE otherwise.
 
 \membersection{wxImageHandler::SaveFile}\label{wximagehandlersavefile}
 
-\func{bool}{SaveFile}{\param{wxImage* }{image}, \param{const wxString\& }{name}}
+\func{bool}{SaveFile}{\param{wxImage* }{image}, \param{wxOutputStream\& }{stream}}
 
-Saves a image in the named file.
+Saves a image in the output stream.
 
 \wxheading{Parameters}
 
 \docparam{image}{The image object which is to be affected by this operation.}
 
-\docparam{name}{A filename. The meaning of {\it name} is determined by the {\it type} parameter.}
+\docparam{stream}{A stream. The meaning of {\it stream} is determined by the {\it type} parameter.}
 
 \wxheading{Return value}
 
@@ -558,3 +625,13 @@ Sets the handler type.
 \docparam{name}{Handler type.}
 
 
+\membersection{wxImageHandler::SetMimeType}
+
+\func{void}{SetMimeType}{\param{const wxString\& }{mimetype}}
+
+Sets the handler MIME type.
+
+\wxheading{Parameters}
+
+\docparam{mimename}{Handler MIME type.}
+