]> git.saurik.com Git - wxWidgets.git/blob - docs/latex/wx/image.tex
wxCommandProcessor::MarkAsSaved() and IsDirty() added (modified patch 1062556)
[wxWidgets.git] / docs / latex / wx / image.tex
1 \section{\class{wxImage}}\label{wximage}
2
3 This class encapsulates a platform-independent image. An image can be created
4 from data, or using \helpref{wxBitmap::ConvertToImage}{wxbitmapconverttoimage}. An image
5 can be loaded from a file in a variety of formats, and is extensible to new formats
6 via image format handlers. Functions are available to set and get image bits, so
7 it can be used for basic image manipulation.
8
9 A wxImage cannot (currently) be drawn directly to a \helpref{wxDC}{wxdc}. Instead,
10 a platform-specific \helpref{wxBitmap}{wxbitmap} object must be created from it using
11 the \helpref{wxBitmap::wxBitmap(wxImage,int depth)}{wxbitmapctor} constructor.
12 This bitmap can then
13 be drawn in a device context, using \helpref{wxDC::DrawBitmap}{wxdcdrawbitmap}.
14
15 One colour value of the image may be used as a mask colour which will lead to the automatic
16 creation of a \helpref{wxMask}{wxmask} object associated to the bitmap object.
17
18 \wxheading{Alpha channel support}
19
20 Starting from wxWidgets 2.5.0 wxImage supports alpha channel data, that is in
21 addition to a byte for the red, green and blue colour components for each pixel
22 it also stores a byte representing the pixel opacity. The alpha value of $0$
23 corresponds to a transparent pixel (null opacity) while the value of $255$
24 means that the pixel is 100\% opaque.
25
26 Unlike the RGB data, not all images have the alpha channel and before using
27 \helpref{GetAlpha}{wximagegetalpha} you should check if this image contains
28 alpha value with \helpref{HasAlpha}{wximagehasalpha}. In fact, currently only
29 images loaded from PNG files with transparency information will have alpha
30 channel but support for it will be added to the other formats as well (as well
31 as support for saving images with alpha channel which is not still implemented
32 either).
33
34 \wxheading{Available image handlers}
35
36 The following image handlers are available. {\bf wxBMPHandler} is always
37 installed by default. To use other image formats, install the appropriate
38 handler with \helpref{wxImage::AddHandler}{wximageaddhandler} or
39 \helpref{wxInitAllImageHandlers}{wxinitallimagehandlers}.
40
41 \twocolwidtha{5cm}%
42 \begin{twocollist}
43 \twocolitem{\indexit{wxBMPHandler}}{For loading and saving, always installed.}
44 \twocolitem{\indexit{wxPNGHandler}}{For loading (including alpha support) and saving.}
45 \twocolitem{\indexit{wxJPEGHandler}}{For loading and saving.}
46 \twocolitem{\indexit{wxGIFHandler}}{Only for loading, due to legal issues.}
47 \twocolitem{\indexit{wxPCXHandler}}{For loading and saving (see below).}
48 \twocolitem{\indexit{wxPNMHandler}}{For loading and saving (see below).}
49 \twocolitem{\indexit{wxTIFFHandler}}{For loading and saving.}
50 \twocolitem{\indexit{wxIFFHandler}}{For loading only.}
51 \twocolitem{\indexit{wxXPMHandler}}{For loading and saving.}
52 \twocolitem{\indexit{wxICOHandler}}{For loading and saving.}
53 \twocolitem{\indexit{wxCURHandler}}{For loading and saving.}
54 \twocolitem{\indexit{wxANIHandler}}{For loading only.}
55 \end{twocollist}
56
57 When saving in PCX format, {\bf wxPCXHandler} will count the number of
58 different colours in the image; if there are 256 or less colours, it will
59 save as 8 bit, else it will save as 24 bit.
60
61 Loading PNMs only works for ASCII or raw RGB images. When saving in
62 PNM format, {\bf wxPNMHandler} will always save as raw RGB.
63
64 \wxheading{Derived from}
65
66 \helpref{wxObject}{wxobject}
67
68 \wxheading{Include files}
69
70 <wx/image.h>
71
72 \wxheading{See also}
73
74 \helpref{wxBitmap}{wxbitmap},
75 \helpref{wxInitAllImageHandlers}{wxinitallimagehandlers}
76
77 \latexignore{\rtfignore{\wxheading{Members}}}
78
79
80 \membersection{wxImage::wxImage}\label{wximagector}
81
82 \func{}{wxImage}{\void}
83
84 Default constructor.
85
86 \func{}{wxImage}{\param{const wxImage\& }{image}}
87
88 Copy constructor.
89
90 \func{}{wxImage}{\param{const wxBitmap\&}{ bitmap}}
91
92 (Deprecated form, use \helpref{wxBitmap::ConvertToImage}{wxbitmapconverttoimage}
93 instead.) Constructs an image from a platform-dependent bitmap. This preserves
94 mask information so that bitmaps and images can be converted back
95 and forth without loss in that respect.
96
97 \func{}{wxImage}{\param{int}{ width}, \param{int}{ height}, \param{bool}{ clear=true}}
98
99 Creates an image with the given width and height. If {\it clear} is true, the new image will be initialized to black.
100 Otherwise, the image data will be uninitialized.
101
102 \func{}{wxImage}{\param{int}{ width}, \param{int}{ height}, \param{unsigned char*}{ data}, \param{bool}{ static\_data=false}}
103
104 Creates an image from given data with the given width and height. If
105 {\it static\_data} is true, then wxImage will not delete the actual
106 image data in its destructor, otherwise it will free it by calling
107 {\it free()}.
108
109 \func{}{wxImage}{\param{const wxString\& }{name}, \param{long}{ type = wxBITMAP\_TYPE\_ANY}, \param{int}{ index = -1}}
110
111 \func{}{wxImage}{\param{const wxString\& }{name}, \param{const wxString\&}{ mimetype}, \param{int}{ index = -1}}
112
113 Loads an image from a file.
114
115 \func{}{wxImage}{\param{wxInputStream\& }{stream}, \param{long}{ type = wxBITMAP\_TYPE\_ANY}, \param{int}{ index = -1}}
116
117 \func{}{wxImage}{\param{wxInputStream\& }{stream}, \param{const wxString\&}{ mimetype}, \param{int}{ index = -1}}
118
119 Loads an image from an input stream.
120
121 \wxheading{Parameters}
122
123 \docparam{width}{Specifies the width of the image.}
124
125 \docparam{height}{Specifies the height of the image.}
126
127 \docparam{name}{Name of the file from which to load the image.}
128
129 \docparam{stream}{Opened input stream from which to load the image. Currently, the stream must support seeking.}
130
131 \docparam{type}{May be one of the following:
132
133 \twocolwidtha{5cm}%
134 \begin{twocollist}
135 \twocolitem{\indexit{wxBITMAP\_TYPE\_BMP}}{Load a Windows bitmap file.}
136 \twocolitem{\indexit{wxBITMAP\_TYPE\_GIF}}{Load a GIF bitmap file.}
137 \twocolitem{\indexit{wxBITMAP\_TYPE\_JPEG}}{Load a JPEG bitmap file.}
138 \twocolitem{\indexit{wxBITMAP\_TYPE\_PNG}}{Load a PNG bitmap file.}
139 \twocolitem{\indexit{wxBITMAP\_TYPE\_PCX}}{Load a PCX bitmap file.}
140 \twocolitem{\indexit{wxBITMAP\_TYPE\_PNM}}{Load a PNM bitmap file.}
141 \twocolitem{\indexit{wxBITMAP\_TYPE\_TIF}}{Load a TIFF bitmap file.}
142 \twocolitem{\indexit{wxBITMAP\_TYPE\_XPM}}{Load a XPM bitmap file.}
143 \twocolitem{\indexit{wxBITMAP\_TYPE\_ICO}}{Load a Windows icon file (ICO).}
144 \twocolitem{\indexit{wxBITMAP\_TYPE\_CUR}}{Load a Windows cursor file (CUR).}
145 \twocolitem{\indexit{wxBITMAP\_TYPE\_ANI}}{Load a Windows animated cursor file (ANI).}
146 \twocolitem{\indexit{wxBITMAP\_TYPE\_ANY}}{Will try to autodetect the format.}
147 \end{twocollist}}
148
149 \docparam{mimetype}{MIME type string (for example 'image/jpeg')}
150
151 \docparam{index}{Index of the image to load in the case that the image file contains multiple images.
152 This is only used by GIF, ICO and TIFF handlers. The default value (-1) means
153 "choose the default image" and is interpreted as the first image (index=0) by
154 the GIF and TIFF handler and as the largest and most colourful one by the ICO handler.}
155
156 \wxheading{Remarks}
157
158 Depending on how wxWidgets has been configured, not all formats may be available.
159
160 Note: any handler other than BMP must be previously
161 initialized with \helpref{wxImage::AddHandler}{wximageaddhandler} or
162 \helpref{wxInitAllImageHandlers}{wxinitallimagehandlers}.
163
164 Note: you can use \helpref{GetOptionInt}{wximagegetoptionint} to get the
165 hotspot for loaded cursor file:
166 \begin{verbatim}
167 int hotspot_x = image.GetOptionInt(wxIMAGE_OPTION_CUR_HOTSPOT_X);
168 int hotspot_y = image.GetOptionInt(wxIMAGE_OPTION_CUR_HOTSPOT_Y);
169
170 \end{verbatim}
171
172 \wxheading{See also}
173
174 \helpref{wxImage::LoadFile}{wximageloadfile}
175
176 \pythonnote{Constructors supported by wxPython are:\par
177 \indented{2cm}{\begin{twocollist}
178 \twocolitem{{\bf wxImage(name, flag)}}{Loads an image from a file}
179 \twocolitem{{\bf wxNullImage()}}{Create a null image (has no size or
180 image data)}
181 \twocolitem{{\bf wxEmptyImage(width, height)}}{Creates an empty image
182 of the given size}
183 \twocolitem{{\bf wxImageFromMime(name, mimetype}}{Creates an image from
184 the given file of the given mimetype}
185 \twocolitem{{\bf wxImageFromBitmap(bitmap)}}{Creates an image from a
186 platform-dependent bitmap}
187 \end{twocollist}}
188 }
189
190 \perlnote{Constructors supported by wxPerl are:\par
191 \begin{itemize}
192 \item{Wx::Image->new( bitmap )}
193 \item{Wx::Image->new( icon )}
194 \item{Wx::Image->new( width, height )}
195 \item{Wx::Image->new( width, height, data )}
196 \item{Wx::Image->new( file, type, index )}
197 \item{Wx::Image->new( file, mimetype, index )}
198 \item{Wx::Image->new( stream, type, index )}
199 \item{Wx::Image->new( stream, mimetype, index )}
200 \end{itemize}
201 }
202
203
204 \membersection{wxImage::\destruct{wxImage}}\label{wximagedtor}
205
206 \func{}{\destruct{wxImage}}{\void}
207
208 Destructor.
209
210
211 \membersection{wxImage::AddHandler}\label{wximageaddhandler}
212
213 \func{static void}{AddHandler}{\param{wxImageHandler*}{ handler}}
214
215 Adds a handler to the end of the static list of format handlers.
216
217 \docparam{handler}{A new image format handler object. There is usually only one instance
218 of a given handler class in an application session.}
219
220 \wxheading{See also}
221
222 \helpref{wxImageHandler}{wximagehandler}
223
224 \func{bool}{CanRead}{\param{const wxString\&}{ filename}}
225
226 returns true if the current image handlers can read this file
227
228 \pythonnote{In wxPython this static method is named {\tt wxImage\_AddHandler}.}
229
230 \membersection{wxImage::CleanUpHandlers}\label{wximagecleanuphandlers}
231
232 \func{static void}{CleanUpHandlers}{\void}
233
234 Deletes all image handlers.
235
236 This function is called by wxWidgets on exit.
237
238
239 \membersection{wxImage::ComputeHistogram}\label{wximagecomputehistogram}
240
241 \constfunc{unsigned long}{ComputeHistogram}{\param{wxImageHistogram\& }{histogram}}
242
243 Computes the histogram of the image. {\it histogram} is a reference to
244 wxImageHistogram object. wxImageHistogram is a specialization of
245 \helpref{wxHashMap}{wxhashmap} "template" and is defined as follows:
246
247 \begin{verbatim}
248 class WXDLLEXPORT wxImageHistogramEntry
249 {
250 public:
251 wxImageHistogramEntry() : index(0), value(0) {}
252 unsigned long index;
253 unsigned long value;
254 };
255
256 WX_DECLARE_EXPORTED_HASH_MAP(unsigned long, wxImageHistogramEntry,
257 wxIntegerHash, wxIntegerEqual,
258 wxImageHistogram);
259 \end{verbatim}
260
261 \wxheading{Return value}
262
263 Returns number of colours in the histogram.
264
265
266 \membersection{wxImage::ConvertAlphaToMask}\label{wximageconvertalphatomask}
267
268 \func{bool}{ConvertAlphaToMask}{\param{unsigned char}{ threshold = 128}}
269
270 If the image has alpha channel, this method converts it to mask. All pixels
271 with alpha value less than \arg{threshold} are replaced with mask colour
272 and the alpha channel is removed. Mask colour is chosen automatically using
273 \helpref{FindFirstUnusedColour}{wximagefindfirstunusedcolour}.
274
275 If the image image doesn't have alpha channel,
276 ConvertAlphaToMask does nothing.
277
278 \wxheading{Return value}
279
280 \false if FindFirstUnusedColour returns \false, \true otherwise.
281
282
283 \membersection{wxImage::ConvertToBitmap}\label{wximageconverttobitmap}
284
285 \constfunc{wxBitmap}{ConvertToBitmap}{\void}
286
287 Deprecated, use equivalent \helpref{wxBitmap constructor}{wxbitmapctor}
288 (which takes wxImage and depth as its arguments) instead.
289
290
291 \membersection{wxImage::ConvertToMono}\label{wxbitmapconverttomono}
292
293 \constfunc{wxImage}{ConvertToMono}{\param{unsigned char}{ r}, \param{unsigned char}{ g}, \param{unsigned char}{ b}}
294
295 Returns monochromatic version of the image. The returned image has white
296 colour where the original has {\it (r,g,b)} colour and black colour
297 everywhere else.
298
299
300 \membersection{wxImage::Copy}\label{wximagecopy}
301
302 \constfunc{wxImage}{Copy}{\void}
303
304 Returns an identical copy of the image.
305
306
307 \membersection{wxImage::Create}\label{wximagecreate}
308
309 \func{bool}{Create}{\param{int}{ width}, \param{int}{ height}, \param{bool}{ clear=true}}
310
311 Creates a fresh image. If {\it clear} is true, the new image will be initialized to black.
312 Otherwise, the image data will be uninitialized.
313
314 \wxheading{Parameters}
315
316 \docparam{width}{The width of the image in pixels.}
317
318 \docparam{height}{The height of the image in pixels.}
319
320 \wxheading{Return value}
321
322 true if the call succeeded, false otherwise.
323
324
325 \membersection{wxImage::Destroy}\label{wximagedestroy}
326
327 \func{void}{Destroy}{\void}
328
329 Destroys the image data.
330
331
332 \membersection{wxImage::FindFirstUnusedColour}\label{wximagefindfirstunusedcolour}
333
334 \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}}
335
336 \wxheading{Parameters}
337
338 \docparam{r,g,b}{Pointers to variables to save the colour.}
339
340 \docparam{startR,startG,startB}{Initial values of the colour. Returned colour
341 will have RGB values equal to or greater than these.}
342
343 Finds the first colour that is never used in the image. The search begins at
344 given initial colour and continues by increasing R, G and B components (in this
345 order) by 1 until an unused colour is found or the colour space exhausted.
346
347 \wxheading{Return value}
348
349 Returns false if there is no unused colour left, true on success.
350
351 \wxheading{Notes}
352
353 Note that this method involves computing the histogram, which is
354 computationally intensive operation.
355
356
357 \membersection{wxImage::FindHandler}\label{wximagefindhandler}
358
359 \func{static wxImageHandler*}{FindHandler}{\param{const wxString\& }{name}}
360
361 Finds the handler with the given name.
362
363 \func{static wxImageHandler*}{FindHandler}{\param{const wxString\& }{extension}, \param{long}{ imageType}}
364
365 Finds the handler associated with the given extension and type.
366
367 \func{static wxImageHandler*}{FindHandler}{\param{long }{imageType}}
368
369 Finds the handler associated with the given image type.
370
371 \func{static wxImageHandler*}{FindHandlerMime}{\param{const wxString\& }{mimetype}}
372
373 Finds the handler associated with the given MIME type.
374
375 \docparam{name}{The handler name.}
376
377 \docparam{extension}{The file extension, such as ``bmp".}
378
379 \docparam{imageType}{The image type, such as wxBITMAP\_TYPE\_BMP.}
380
381 \docparam{mimetype}{MIME type.}
382
383 \wxheading{Return value}
384
385 A pointer to the handler if found, NULL otherwise.
386
387 \wxheading{See also}
388
389 \helpref{wxImageHandler}{wximagehandler}
390
391
392 \membersection{wxImage::GetImageExtWildcard}\label{wximagegetimageextwildcard}
393
394 \func{static wxString}{GetImageExtWildcard}{\void}
395
396 Iterates all registered wxImageHandler objects, and returns a string containing file extension masks
397 suitable for passing to file open/save dialog boxes.
398
399 \wxheading{Return value}
400
401 The format of the returned string is "(*.ext1;*.ext2)|*.ext1;*.ext2".
402
403 It is usually a good idea to prepend a description before passing the result to the dialog.
404
405 Example:
406
407 \begin{verbatim}
408 wxFileDialog FileDlg( this, "Choose Image", ::wxGetWorkingDirectory(), "", _("Image Files ") + wxImage::GetImageExtWildcard(), wxOPEN );
409 \end{verbatim}
410
411 \wxheading{See also}
412
413 \helpref{wxImageHandler}{wximagehandler}
414
415
416 \membersection{wxImage::GetAlpha}\label{wximagegetalpha}
417
418 \constfunc{unsigned char}{GetAlpha}{\param{int}{ x}, \param{int}{ y}}
419
420 Returns the alpha value for the given pixel. This function may only be called
421 for the images with alpha channel, use \helpref{HasAlpha}{wximagehasalpha} to
422 check for this.
423
424 The returned value is the {\it opacity} of the image, i.e. the value of $0$
425 corresponds to the transparent pixels while the value of $255$ -- to the opaque
426 ones.
427
428 \constfunc{unsigned char *}{GetAlpha}{\void}
429
430 Returns pointer to the array storing the alpha values for this image. This
431 pointer is {\tt NULL} for the images without the alpha channel. If the image
432 does have it, this pointer may be used to directly manipulate the alpha values
433 which are stored as the \helpref{RGB}{wximagegetdata} ones.
434
435
436 \membersection{wxImage::GetBlue}\label{wximagegetblue}
437
438 \constfunc{unsigned char}{GetBlue}{\param{int}{ x}, \param{int}{ y}}
439
440 Returns the blue intensity at the given coordinate.
441
442
443 \membersection{wxImage::GetData}\label{wximagegetdata}
444
445 \constfunc{unsigned char*}{GetData}{\void}
446
447 Returns the image data as an array. This is most often used when doing
448 direct image manipulation. The return value points to an array of
449 characters in RGBRGBRGB$\ldots$ format in the top-to-bottom, left-to-right
450 order, that is the first RGB triplet corresponds to the pixel first pixel of
451 the first row, the second one --- to the second pixel of the first row and so
452 on until the end of the first row, with second row following after it and so
453 on.
454
455 You should not delete the returned pointer nor pass it to
456 \helpref{wxImage::SetData}{wximagesetdata}.
457
458
459 \membersection{wxImage::GetGreen}\label{wximagegetgreen}
460
461 \constfunc{unsigned char}{GetGreen}{\param{int}{ x}, \param{int}{ y}}
462
463 Returns the green intensity at the given coordinate.
464
465
466 \membersection{wxImage::GetImageCount}\label{wximagegetimagecount}
467
468 \func{static int}{GetImageCount}{\param{const wxString\&}{ filename}, \param{long}{ type = wxBITMAP\_TYPE\_ANY}}
469
470 \func{static int}{GetImageCount}{\param{wxInputStream\&}{ stream}, \param{long}{ type = wxBITMAP\_TYPE\_ANY}}
471
472 If the image file contains more than one image and the image handler is capable
473 of retrieving these individually, this function will return the number of
474 available images.
475
476 \docparam{name}{Name of the file to query.}
477
478 \docparam{stream}{Opened input stream with image data. Currently, the stream must support seeking.}
479
480 \docparam{type}{May be one of the following:
481
482 \twocolwidtha{5cm}%
483 \begin{twocollist}
484 \twocolitem{\indexit{wxBITMAP\_TYPE\_BMP}}{Load a Windows bitmap file.}
485 \twocolitem{\indexit{wxBITMAP\_TYPE\_GIF}}{Load a GIF bitmap file.}
486 \twocolitem{\indexit{wxBITMAP\_TYPE\_JPEG}}{Load a JPEG bitmap file.}
487 \twocolitem{\indexit{wxBITMAP\_TYPE\_PNG}}{Load a PNG bitmap file.}
488 \twocolitem{\indexit{wxBITMAP\_TYPE\_PCX}}{Load a PCX bitmap file.}
489 \twocolitem{\indexit{wxBITMAP\_TYPE\_PNM}}{Load a PNM bitmap file.}
490 \twocolitem{\indexit{wxBITMAP\_TYPE\_TIF}}{Load a TIFF bitmap file.}
491 \twocolitem{\indexit{wxBITMAP\_TYPE\_XPM}}{Load a XPM bitmap file.}
492 \twocolitem{\indexit{wxBITMAP\_TYPE\_ICO}}{Load a Windows icon file (ICO).}
493 \twocolitem{\indexit{wxBITMAP\_TYPE\_CUR}}{Load a Windows cursor file (CUR).}
494 \twocolitem{\indexit{wxBITMAP\_TYPE\_ANI}}{Load a Windows animated cursor file (ANI).}
495 \twocolitem{\indexit{wxBITMAP\_TYPE\_ANY}}{Will try to autodetect the format.}
496 \end{twocollist}}
497
498 \wxheading{Return value}
499
500 Number of available images. For most image handlers, this is 1 (exceptions
501 are TIFF and ICO formats).
502
503
504 \membersection{wxImage::GetHandlers}\label{wximagegethandlers}
505
506 \func{static wxList\&}{GetHandlers}{\void}
507
508 Returns the static list of image format handlers.
509
510 \wxheading{See also}
511
512 \helpref{wxImageHandler}{wximagehandler}
513
514
515 \membersection{wxImage::GetHeight}\label{wximagegetheight}
516
517 \constfunc{int}{GetHeight}{\void}
518
519 Gets the height of the image in pixels.
520
521
522 \membersection{wxImage::GetMaskBlue}\label{wximagegetmaskblue}
523
524 \constfunc{unsigned char}{GetMaskBlue}{\void}
525
526 Gets the blue value of the mask colour.
527
528
529 \membersection{wxImage::GetMaskGreen}\label{wximagegetmaskgreen}
530
531 \constfunc{unsigned char}{GetMaskGreen}{\void}
532
533 Gets the green value of the mask colour.
534
535
536 \membersection{wxImage::GetMaskRed}\label{wximagegetmaskred}
537
538 \constfunc{unsigned char}{GetMaskRed}{\void}
539
540 Gets the red value of the mask colour.
541
542
543 \membersection{wxImage::GetPalette}\label{wximagegetpalette}
544
545 \constfunc{const wxPalette\&}{GetPalette}{\void}
546
547 Returns the palette associated with the image. Currently the palette is only
548 used when converting to wxBitmap under Windows.
549
550 Eventually wxImage handlers will set the palette if one exists in the image file.
551
552
553 \membersection{wxImage::GetRed}\label{wximagegetred}
554
555 \constfunc{unsigned char}{GetRed}{\param{int}{ x}, \param{int}{ y}}
556
557 Returns the red intensity at the given coordinate.
558
559
560 \membersection{wxImage::GetSubImage}\label{wximagegetsubimage}
561
562 \constfunc{wxImage}{GetSubImage}{\param{const wxRect\&}{ rect}}
563
564 Returns a sub image of the current one as long as the rect belongs entirely to
565 the image.
566
567
568 \membersection{wxImage::GetWidth}\label{wximagegetwidth}
569
570 \constfunc{int}{GetWidth}{\void}
571
572 Gets the width of the image in pixels.
573
574 \wxheading{See also}
575
576 \helpref{wxImage::GetHeight}{wximagegetheight}
577
578
579 \membersection{wxImage::HasAlpha}\label{wximagehasalpha}
580
581 \constfunc{bool}{HasAlpha}{\void}
582
583 Returns true if this image has alpha channel, false otherwise.
584
585 \wxheading{See also}
586
587 \helpref{GetAlpha}{wximagegetalpha}, \helpref{SetAlpha}{wximagesetalpha}
588
589
590 \membersection{wxImage::HasMask}\label{wximagehasmask}
591
592 \constfunc{bool}{HasMask}{\void}
593
594 Returns true if there is a mask active, false otherwise.
595
596
597 \membersection{wxImage::GetOption}\label{wximagegetoption}
598
599 \constfunc{wxString}{GetOption}{\param{const wxString\&}{ name}}
600
601 Gets a user-defined option. The function is case-insensitive to {\it name}.
602
603 For example, when saving as a JPEG file, the option {\bf quality} is
604 used, which is a number between 0 and 100 (0 is terrible, 100 is very good).
605
606 \wxheading{See also}
607
608 \helpref{wxImage::SetOption}{wximagesetoption},\rtfsp
609 \helpref{wxImage::GetOptionInt}{wximagegetoptionint},\rtfsp
610 \helpref{wxImage::HasOption}{wximagehasoption}
611
612
613 \membersection{wxImage::GetOptionInt}\label{wximagegetoptionint}
614
615 \constfunc{int}{GetOptionInt}{\param{const wxString\&}{ name}}
616
617 Gets a user-defined option as an integer. The function is case-insensitive to {\it name}.
618
619 If the given option is not present, the function returns $0$. Use
620 \helpref{wxImage::HasOption}{wximagehasoption} is $0$ is a possibly valid value
621 for the option.
622
623 \wxheading{See also}
624
625 \helpref{wxImage::SetOption}{wximagesetoption},\rtfsp
626 \helpref{wxImage::GetOption}{wximagegetoption}
627
628
629 \membersection{wxImage::HasOption}\label{wximagehasoption}
630
631 \constfunc{bool}{HasOption}{\param{const wxString\&}{ name}}
632
633 Returns true if the given option is present. The function is case-insensitive to {\it name}.
634
635 \wxheading{See also}
636
637 \helpref{wxImage::SetOption}{wximagesetoption},\rtfsp
638 \helpref{wxImage::GetOption}{wximagegetoption},\rtfsp
639 \helpref{wxImage::GetOptionInt}{wximagegetoptionint}
640
641
642 \membersection{wxImage::InitStandardHandlers}\label{wximageinitstandardhandlers}
643
644 \func{static void}{InitStandardHandlers}{\void}
645
646 Internal use only. Adds standard image format handlers. It only install BMP
647 for the time being, which is used by wxBitmap.
648
649 This function is called by wxWidgets on startup, and shouldn't be called by
650 the user.
651
652 \wxheading{See also}
653
654 \helpref{wxImageHandler}{wximagehandler},
655 \helpref{wxInitAllImageHandlers}{wxinitallimagehandlers}
656
657
658 \membersection{wxImage::InsertHandler}\label{wximageinserthandler}
659
660 \func{static void}{InsertHandler}{\param{wxImageHandler*}{ handler}}
661
662 Adds a handler at the start of the static list of format handlers.
663
664 \docparam{handler}{A new image format handler object. There is usually only one instance
665 of a given handler class in an application session.}
666
667 \wxheading{See also}
668
669 \helpref{wxImageHandler}{wximagehandler}
670
671
672 \membersection{wxImage::LoadFile}\label{wximageloadfile}
673
674 \func{bool}{LoadFile}{\param{const wxString\&}{ name}, \param{long}{ type = wxBITMAP\_TYPE\_ANY}, \param{int}{ index = -1}}
675
676 \func{bool}{LoadFile}{\param{const wxString\&}{ name}, \param{const wxString\&}{ mimetype}, \param{int}{ index = -1}}
677
678 Loads an image from a file. If no handler type is provided, the library will
679 try to autodetect the format.
680
681 \func{bool}{LoadFile}{\param{wxInputStream\&}{ stream}, \param{long}{ type}, \param{int}{ index = -1}}
682
683 \func{bool}{LoadFile}{\param{wxInputStream\&}{ stream}, \param{const wxString\&}{ mimetype}, \param{int}{ index = -1}}
684
685 Loads an image from an input stream.
686
687 \wxheading{Parameters}
688
689 \docparam{name}{Name of the file from which to load the image.}
690
691 \docparam{stream}{Opened input stream from which to load the image. Currently, the stream must support seeking.}
692
693 \docparam{type}{One of the following values:
694
695 \twocolwidtha{5cm}%
696 \begin{twocollist}
697 \twocolitem{{\bf wxBITMAP\_TYPE\_BMP}}{Load a Windows image file.}
698 \twocolitem{{\bf wxBITMAP\_TYPE\_GIF}}{Load a GIF image file.}
699 \twocolitem{{\bf wxBITMAP\_TYPE\_JPEG}}{Load a JPEG image file.}
700 \twocolitem{{\bf wxBITMAP\_TYPE\_PCX}}{Load a PCX image file.}
701 \twocolitem{{\bf wxBITMAP\_TYPE\_PNG}}{Load a PNG image file.}
702 \twocolitem{{\bf wxBITMAP\_TYPE\_PNM}}{Load a PNM image file.}
703 \twocolitem{{\bf wxBITMAP\_TYPE\_TIF}}{Load a TIFF image file.}
704 \twocolitem{{\bf wxBITMAP\_TYPE\_XPM}}{Load a XPM image file.}
705 \twocolitem{{\bf wxBITMAP\_TYPE\_ICO}}{Load a Windows icon file (ICO).}
706 \twocolitem{{\bf wxBITMAP\_TYPE\_CUR}}{Load a Windows cursor file (CUR).}
707 \twocolitem{\indexit{wxBITMAP\_TYPE\_ANI}}{Load a Windows animated cursor file (ANI).}
708 \twocolitem{{\bf wxBITMAP\_TYPE\_ANY}}{Will try to autodetect the format.}
709 \end{twocollist}}
710
711 \docparam{mimetype}{MIME type string (for example 'image/jpeg')}
712
713 \docparam{index}{Index of the image to load in the case that the image file contains multiple images.
714 This is only used by GIF, ICO and TIFF handlers. The default value (-1) means
715 "choose the default image" and is interpreted as the first image (index=0) by
716 the GIF and TIFF handler and as the largest and most colourful one by the ICO handler.}
717
718 \wxheading{Remarks}
719
720 Depending on how wxWidgets has been configured, not all formats may be available.
721
722 Note: you can use \helpref{GetOptionInt}{wximagegetoptionint} to get the
723 hotspot for loaded cursor file:
724 \begin{verbatim}
725 int hotspot_x = image.GetOptionInt(wxIMAGE_OPTION_CUR_HOTSPOT_X);
726 int hotspot_y = image.GetOptionInt(wxIMAGE_OPTION_CUR_HOTSPOT_Y);
727
728 \end{verbatim}
729
730 \wxheading{Return value}
731
732 true if the operation succeeded, false otherwise. If the optional index parameter is out of range,
733 false is returned and a call to wxLogError() takes place.
734
735 \wxheading{See also}
736
737 \helpref{wxImage::SaveFile}{wximagesavefile}
738
739 \pythonnote{In place of a single overloaded method name, wxPython
740 implements the following methods:\par
741 \indented{2cm}{\begin{twocollist}
742 \twocolitem{{\bf LoadFile(filename, type)}}{Loads an image of the given
743 type from a file}
744 \twocolitem{{\bf LoadMimeFile(filename, mimetype)}}{Loads an image of the given
745 mimetype from a file}
746 \end{twocollist}}
747 }
748
749 \perlnote{Methods supported by wxPerl are:\par
750 \begin{itemize}
751 \item{bitmap->LoadFile( name, type )}
752 \item{bitmap->LoadFile( name, mimetype )}
753 \end{itemize}
754 }
755
756
757
758 \membersection{wxImage::Ok}\label{wximageok}
759
760 \constfunc{bool}{Ok}{\void}
761
762 Returns true if image data is present.
763
764
765 \membersection{wxImage::RemoveHandler}\label{wximageremovehandler}
766
767 \func{static bool}{RemoveHandler}{\param{const wxString\& }{name}}
768
769 Finds the handler with the given name, and removes it. The handler
770 is not deleted.
771
772 \docparam{name}{The handler name.}
773
774 \wxheading{Return value}
775
776 true if the handler was found and removed, false otherwise.
777
778 \wxheading{See also}
779
780 \helpref{wxImageHandler}{wximagehandler}
781
782
783 \membersection{wxImage::Mirror}\label{wximagemirror}
784
785 \constfunc{wxImage}{Mirror}{\param{bool}{ horizontally = true}}
786
787 Returns a mirrored copy of the image. The parameter {\it horizontally}
788 indicates the orientation.
789
790
791 \membersection{wxImage::Replace}\label{wximagereplace}
792
793 \func{void}{Replace}{\param{unsigned char}{ r1}, \param{unsigned char}{ g1}, \param{unsigned char}{ b1},
794 \param{unsigned char}{ r2}, \param{unsigned char}{ g2}, \param{unsigned char}{ b2}}
795
796 Replaces the colour specified by {\it r1,g1,b1} by the colour {\it r2,g2,b2}.
797
798
799 \membersection{wxImage::Rescale}\label{wximagerescale}
800
801 \func{wxImage \&}{Rescale}{\param{int}{ width}, \param{int}{ height}}
802
803 Changes the size of the image in-place: after a call to this function, the
804 image will have the given width and height.
805
806 Returns the (modified) image itself.
807
808 \wxheading{See also}
809
810 \helpref{Scale}{wximagescale}
811
812
813 \membersection{wxImage::Rotate}\label{wximagerotate}
814
815 \func{wxImage}{Rotate}{\param{double}{ angle}, \param{const wxPoint\& }{rotationCentre},
816 \param{bool}{ interpolating = true}, \param{wxPoint*}{ offsetAfterRotation = NULL}}
817
818 Rotates the image about the given point, by {\it angle} radians. Passing true
819 to {\it interpolating} results in better image quality, but is slower. If the
820 image has a mask, then the mask colour is used for the uncovered pixels in the
821 rotated image background. Else, black (rgb 0, 0, 0) will be used.
822
823 Returns the rotated image, leaving this image intact.
824
825
826 \membersection{wxImage::Rotate90}\label{wximagerotate90}
827
828 \constfunc{wxImage}{Rotate90}{\param{bool}{ clockwise = true}}
829
830 Returns a copy of the image rotated 90 degrees in the direction
831 indicated by {\it clockwise}.
832
833
834 \membersection{wxImage::SaveFile}\label{wximagesavefile}
835
836 \constfunc{bool}{SaveFile}{\param{const wxString\& }{name}, \param{int}{ type}}
837
838 \constfunc{bool}{SaveFile}{\param{const wxString\& }{name}, \param{const wxString\&}{ mimetype}}
839
840 Saves an image in the named file.
841
842 \constfunc{bool}{SaveFile}{\param{const wxString\& }{name}}
843
844 Saves an image in the named file. File type is determined from the extension of the
845 file name. Note that this function may fail if the extension is not recognized! You
846 can use one of the forms above to save images to files with non-standard extensions.
847
848 \constfunc{bool}{SaveFile}{\param{wxOutputStream\& }{stream}, \param{int}{ type}}
849
850 \constfunc{bool}{SaveFile}{\param{wxOutputStream\& }{stream}, \param{const wxString\&}{ mimetype}}
851
852 Saves an image in the given stream.
853
854 \wxheading{Parameters}
855
856 \docparam{name}{Name of the file to save the image to.}
857
858 \docparam{stream}{Opened output stream to save the image to.}
859
860 \docparam{type}{Currently these types can be used:
861
862 \twocolwidtha{5cm}%
863 \begin{twocollist}
864 \twocolitem{{\bf wxBITMAP\_TYPE\_BMP}}{Save a BMP image file.}
865 \twocolitem{{\bf wxBITMAP\_TYPE\_JPEG}}{Save a JPEG image file.}
866 \twocolitem{{\bf wxBITMAP\_TYPE\_PNG}}{Save a PNG image file.}
867 \twocolitem{{\bf wxBITMAP\_TYPE\_PCX}}{Save a PCX image file (tries to save as 8-bit if possible, falls back to 24-bit otherwise).}
868 \twocolitem{{\bf wxBITMAP\_TYPE\_PNM}}{Save a PNM image file (as raw RGB always).}
869 \twocolitem{{\bf wxBITMAP\_TYPE\_TIFF}}{Save a TIFF image file.}
870 \twocolitem{{\bf wxBITMAP\_TYPE\_XPM}}{Save a XPM image file.}
871 \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).}
872 \twocolitem{{\bf wxBITMAP\_TYPE\_CUR}}{Save a Windows cursor file (CUR).}
873 \end{twocollist}}
874
875 \docparam{mimetype}{MIME type.}
876
877 \wxheading{Return value}
878
879 true if the operation succeeded, false otherwise.
880
881 \wxheading{Remarks}
882
883 Depending on how wxWidgets has been configured, not all formats may be available.
884
885 Note: you can use \helpref{GetOptionInt}{wximagegetoptionint} to set the
886 hotspot before saving an image into a cursor file (default hotspot is in
887 the centre of the image):
888 \begin{verbatim}
889 image.SetOption(wxIMAGE_OPTION_CUR_HOTSPOT_X, hotspotX);
890 image.SetOption(wxIMAGE_OPTION_CUR_HOTSPOT_Y, hotspotY);
891
892 \end{verbatim}
893
894 \wxheading{See also}
895
896 \helpref{wxImage::LoadFile}{wximageloadfile}
897
898 \pythonnote{In place of a single overloaded method name, wxPython
899 implements the following methods:\par
900 \indented{2cm}{\begin{twocollist}
901 \twocolitem{{\bf SaveFile(filename, type)}}{Saves the image using the given
902 type to the named file}
903 \twocolitem{{\bf SaveMimeFile(filename, mimetype)}}{Saves the image using the given
904 mimetype to the named file}
905 \end{twocollist}}
906 }
907
908 \perlnote{Methods supported by wxPerl are:\par
909 \begin{itemize}
910 \item{bitmap->SaveFile( name, type )}
911 \item{bitmap->SaveFile( name, mimetype )}
912 \end{itemize}
913 }
914
915
916 \membersection{wxImage::Scale}\label{wximagescale}
917
918 \constfunc{wxImage}{Scale}{\param{int}{ width}, \param{int}{ height}}
919
920 Returns a scaled version of the image. This is also useful for
921 scaling bitmaps in general as the only other way to scale bitmaps
922 is to blit a wxMemoryDC into another wxMemoryDC.
923
924 It may be mentioned that the GTK port uses this function internally
925 to scale bitmaps when using mapping modes in wxDC.
926
927 Example:
928
929 \begin{verbatim}
930 // get the bitmap from somewhere
931 wxBitmap bmp = ...;
932
933 // rescale it to have size of 32*32
934 if ( bmp.GetWidth() != 32 || bmp.GetHeight() != 32 )
935 {
936 wxImage image = bmp.ConvertToImage();
937 bmp = wxBitmap(image.Scale(32, 32));
938
939 // another possibility:
940 image.Rescale(32, 32);
941 bmp = image;
942 }
943
944 \end{verbatim}
945
946 \wxheading{See also}
947
948 \helpref{Rescale}{wximagerescale}
949
950
951 \membersection{wxImage::SetAlpha}\label{wximagesetalpha}
952
953 \func{void}{SetAlpha}{\param{unsigned char *}{alpha = {\tt NULL}}}
954
955 This function is similar to \helpref{SetData}{wximagesetdata} and has similar
956 restrictions. The pointer passed to it may however be {\tt NULL} in which case
957 the function will allocate the alpha array internally -- this is useful to add
958 alpha channel data to an image which doesn't have any. If the pointer is not
959 {\tt NULL}, it must have one byte for each image pixel and be allocated with
960 {\tt malloc()}. wxImage takes ownership of the pointer and will free it.
961
962 \func{void}{SetAlpha}{\param{int }{x}, \param{int }{y}, \param{unsigned char }{alpha}}
963
964 Sets the alpha value for the given pixel. This function should only be called
965 if the image has alpha channel data, use \helpref{HasAlpha}{wximagehasalpha} to
966 check for this.
967
968
969 \membersection{wxImage::SetData}\label{wximagesetdata}
970
971 \func{void}{SetData}{\param{unsigned char*}{data}}
972
973 Sets the image data without performing checks. The data given must have
974 the size (width*height*3) or results will be unexpected. Don't use this
975 method if you aren't sure you know what you are doing.
976
977 The data must have been allocated with {\tt malloc()}, {\large {\bf NOT}} with
978 {\tt operator new}.
979
980 After this call the pointer to the data is owned by the wxImage object,
981 that will be responsible for deleting it.
982 Do not pass to this function a pointer obtained through
983 \helpref{wxImage::GetData}{wximagegetdata}.
984
985
986 \membersection{wxImage::SetMask}\label{wximagesetmask}
987
988 \func{void}{SetMask}{\param{bool}{ hasMask = true}}
989
990 Specifies whether there is a mask or not. The area of the mask is determined by the current mask colour.
991
992
993 \membersection{wxImage::SetMaskColour}\label{wximagesetmaskcolour}
994
995 \func{void}{SetMaskColour}{\param{unsigned char }{red}, \param{unsigned char }{green}, \param{unsigned char }{blue}}
996
997 Sets the mask colour for this image (and tells the image to use the mask).
998
999
1000 \membersection{wxImage::SetMaskFromImage}\label{wximagesetmaskfromimage}
1001
1002 \func{bool}{SetMaskFromImage}{\param{const wxImage\&}{ mask}, \param{unsigned char}{ mr}, \param{unsigned char}{ mg}, \param{unsigned char}{ mb}}
1003
1004 \wxheading{Parameters}
1005
1006 \docparam{mask}{The mask image to extract mask shape from. Must have same dimensions as the image.}
1007
1008 \docparam{mr,mg,mb}{RGB value of pixels in {\it mask} that will be used to create the mask.}
1009
1010 Sets image's mask so that the pixels that have RGB value of {\it mr,mg,mb}
1011 in {\it mask} will be masked in the image. This is done by first finding an
1012 unused colour in the image, setting this colour as the mask colour and then
1013 using this colour to draw all pixels in the image who corresponding pixel
1014 in {\it mask} has given RGB value.
1015
1016 \wxheading{Return value}
1017
1018 Returns false if {\it mask} does not have same dimensions as the image or if
1019 there is no unused colour left. Returns true if the mask was successfully
1020 applied.
1021
1022 \wxheading{Notes}
1023
1024 Note that this method involves computing the histogram, which is
1025 computationally intensive operation.
1026
1027
1028 \membersection{wxImage::SetOption}\label{wximagesetoption}
1029
1030 \func{void}{SetOption}{\param{const wxString\&}{ name}, \param{const wxString\&}{ value}}
1031
1032 \func{void}{SetOption}{\param{const wxString\&}{ name}, \param{int}{ value}}
1033
1034 Sets a user-defined option. The function is case-insensitive to {\it name}.
1035
1036 For example, when saving as a JPEG file, the option {\bf quality} is
1037 used, which is a number between 0 and 100 (0 is terrible, 100 is very good).
1038
1039 \wxheading{See also}
1040
1041 \helpref{wxImage::GetOption}{wximagegetoption},\rtfsp
1042 \helpref{wxImage::GetOptionInt}{wximagegetoptionint},\rtfsp
1043 \helpref{wxImage::HasOption}{wximagehasoption}
1044
1045
1046 \membersection{wxImage::SetPalette}\label{wximagesetpalette}
1047
1048 \func{void}{SetPalette}{\param{const wxPalette\&}{ palette}}
1049
1050 Associates a palette with the image. The palette may be used when converting
1051 wxImage to wxBitmap (MSW only at present) or in file save operations (none as yet).
1052
1053
1054 \membersection{wxImage::SetRGB}\label{wximagesetrgb}
1055
1056 \func{void}{SetRGB}{\param{int }{x}, \param{int }{y}, \param{unsigned char }{red}, \param{unsigned char }{green}, \param{unsigned char }{blue}}
1057
1058 Sets the pixel at the given coordinate. This routine performs bounds-checks
1059 for the coordinate so it can be considered a safe way to manipulate the
1060 data, but in some cases this might be too slow so that the data will have to
1061 be set directly. In that case you will have to get access to the image data
1062 using the \helpref{GetData}{wximagegetdata} method.
1063
1064
1065 \membersection{wxImage::operator $=$}\label{wximageassign}
1066
1067 \func{wxImage\& }{operator $=$}{\param{const wxImage\& }{image}}
1068
1069 Assignment operator. This operator does not copy any data, but instead
1070 passes a pointer to the data in {\it image} and increments a reference
1071 counter. It is a fast operation.
1072
1073 \wxheading{Parameters}
1074
1075 \docparam{image}{Image to assign.}
1076
1077 \wxheading{Return value}
1078
1079 Returns 'this' object.
1080
1081
1082 \membersection{wxImage::operator $==$}\label{wximageequal}
1083
1084 \constfunc{bool}{operator $==$}{\param{const wxImage\& }{image}}
1085
1086 Equality operator. This operator tests whether the internal data pointers are
1087 equal (a fast test).
1088
1089 \wxheading{Parameters}
1090
1091 \docparam{image}{Image to compare with 'this'}
1092
1093 \wxheading{Return value}
1094
1095 Returns true if the images were effectively equal, false otherwise.
1096
1097
1098 \membersection{wxImage::operator $!=$}\label{wximagenotequal}
1099
1100 \constfunc{bool}{operator $!=$}{\param{const wxImage\& }{image}}
1101
1102 Inequality operator. This operator tests whether the internal data pointers are
1103 unequal (a fast test).
1104
1105 \wxheading{Parameters}
1106
1107 \docparam{image}{Image to compare with 'this'}
1108
1109 \wxheading{Return value}
1110
1111 Returns true if the images were unequal, false otherwise.
1112
1113 \section{\class{wxImageHandler}}\label{wximagehandler}
1114
1115 This is the base class for implementing image file loading/saving, and image creation from data.
1116 It is used within wxImage and is not normally seen by the application.
1117
1118 If you wish to extend the capabilities of wxImage, derive a class from wxImageHandler
1119 and add the handler using \helpref{wxImage::AddHandler}{wximageaddhandler} in your
1120 application initialisation.
1121
1122 \wxheading{Note (Legal Issue)}
1123
1124 This software is based in part on the work of the Independent JPEG Group.
1125
1126 (Applies when wxWidgets is linked with JPEG support. wxJPEGHandler uses libjpeg
1127 created by IJG.)
1128
1129 \wxheading{Derived from}
1130
1131 \helpref{wxObject}{wxobject}
1132
1133 \wxheading{Include files}
1134
1135 <wx/image.h>
1136
1137 \wxheading{See also}
1138
1139 \helpref{wxImage}{wximage},
1140 \helpref{wxInitAllImageHandlers}{wxinitallimagehandlers}
1141
1142 \latexignore{\rtfignore{\wxheading{Members}}}
1143
1144
1145 \membersection{wxImageHandler::wxImageHandler}\label{wximagehandlerctor}
1146
1147 \func{}{wxImageHandler}{\void}
1148
1149 Default constructor. In your own default constructor, initialise the members
1150 m\_name, m\_extension and m\_type.
1151
1152
1153 \membersection{wxImageHandler::\destruct{wxImageHandler}}\label{wximagehandlerdtor}
1154
1155 \func{}{\destruct{wxImageHandler}}{\void}
1156
1157 Destroys the wxImageHandler object.
1158
1159
1160 \membersection{wxImageHandler::GetName}\label{wximagehandlergetname}
1161
1162 \constfunc{wxString}{GetName}{\void}
1163
1164 Gets the name of this handler.
1165
1166
1167 \membersection{wxImageHandler::GetExtension}\label{wximagehandlergetextension}
1168
1169 \constfunc{wxString}{GetExtension}{\void}
1170
1171 Gets the file extension associated with this handler.
1172
1173
1174 \membersection{wxImageHandler::GetImageCount}\label{wximagehandlergetimagecount}
1175
1176 \func{int}{GetImageCount}{\param{wxInputStream\&}{ stream}}
1177
1178 If the image file contains more than one image and the image handler is capable
1179 of retrieving these individually, this function will return the number of
1180 available images.
1181
1182 \docparam{stream}{Opened input stream for reading image data. Currently, the stream must support seeking.}
1183
1184 \wxheading{Return value}
1185
1186 Number of available images. For most image handlers, this is 1 (exceptions
1187 are TIFF and ICO formats).
1188
1189
1190 \membersection{wxImageHandler::GetType}\label{wximagehandlergettype}
1191
1192 \constfunc{long}{GetType}{\void}
1193
1194 Gets the image type associated with this handler.
1195
1196
1197 \membersection{wxImageHandler::GetMimeType}\label{wximagehandlergetmimetype}
1198
1199 \constfunc{wxString}{GetMimeType}{\void}
1200
1201 Gets the MIME type associated with this handler.
1202
1203
1204 \membersection{wxImageHandler::LoadFile}\label{wximagehandlerloadfile}
1205
1206 \func{bool}{LoadFile}{\param{wxImage* }{image}, \param{wxInputStream\&}{ stream}, \param{bool}{ verbose=true}, \param{int}{ index=0}}
1207
1208 Loads a image from a stream, putting the resulting data into {\it image}. If the image file contains
1209 more than one image and the image handler is capable of retrieving these individually, {\it index}
1210 indicates which image to read from the stream.
1211
1212 \wxheading{Parameters}
1213
1214 \docparam{image}{The image object which is to be affected by this operation.}
1215
1216 \docparam{stream}{Opened input stream for reading image data.}
1217
1218 \docparam{verbose}{If set to true, errors reported by the image handler will produce wxLogMessages.}
1219
1220 \docparam{index}{The index of the image in the file (starting from zero).}
1221
1222 \wxheading{Return value}
1223
1224 true if the operation succeeded, false otherwise.
1225
1226 \wxheading{See also}
1227
1228 \helpref{wxImage::LoadFile}{wximageloadfile},
1229 \helpref{wxImage::SaveFile}{wximagesavefile},
1230 \helpref{wxImageHandler::SaveFile}{wximagehandlersavefile}
1231
1232
1233 \membersection{wxImageHandler::SaveFile}\label{wximagehandlersavefile}
1234
1235 \func{bool}{SaveFile}{\param{wxImage* }{image}, \param{wxOutputStream\& }{stream}}
1236
1237 Saves a image in the output stream.
1238
1239 \wxheading{Parameters}
1240
1241 \docparam{image}{The image object which is to be affected by this operation.}
1242
1243 \docparam{stream}{Opened output stream for writing the data.}
1244
1245 \wxheading{Return value}
1246
1247 true if the operation succeeded, false otherwise.
1248
1249 \wxheading{See also}
1250
1251 \helpref{wxImage::LoadFile}{wximageloadfile},
1252 \helpref{wxImage::SaveFile}{wximagesavefile},
1253 \helpref{wxImageHandler::LoadFile}{wximagehandlerloadfile}
1254
1255
1256 \membersection{wxImageHandler::SetName}\label{wximagehandlersetname}
1257
1258 \func{void}{SetName}{\param{const wxString\& }{name}}
1259
1260 Sets the handler name.
1261
1262 \wxheading{Parameters}
1263
1264 \docparam{name}{Handler name.}
1265
1266
1267 \membersection{wxImageHandler::SetExtension}\label{wximagehandlersetextension}
1268
1269 \func{void}{SetExtension}{\param{const wxString\& }{extension}}
1270
1271 Sets the handler extension.
1272
1273 \wxheading{Parameters}
1274
1275 \docparam{extension}{Handler extension.}
1276
1277
1278 \membersection{wxImageHandler::SetMimeType}\label{wximagehandlersetmimetype}
1279
1280 \func{void}{SetMimeType}{\param{const wxString\& }{mimetype}}
1281
1282 Sets the handler MIME type.
1283
1284 \wxheading{Parameters}
1285
1286 \docparam{mimename}{Handler MIME type.}
1287
1288
1289 \membersection{wxImageHandler::SetType}\label{wximagehandlersettype}
1290
1291 \func{void}{SetType}{\param{long }{type}}
1292
1293 Sets the handler type.
1294
1295 \wxheading{Parameters}
1296
1297 \docparam{name}{Handler type.}
1298