251
247
<td class="itemcode"><code>procedure <b><a href="CastleImages.html#SaveDDS">SaveDDS</a></b>(Img: <a href="CastleImages.TCastleImage.html">TCastleImage</a>; Stream: TStream);</code></td>
253
249
<tr class="list">
254
<td class="itemcode"><code>function <b><a href="CastleImages.html#FileExtToImageFormat">FileExtToImageFormat</a></b>(FileExt: string; OnlyLoadable, OnlySaveable: boolean; out ImgFormat: <a href="CastleImages.html#TImageFormat">TImageFormat</a>): boolean;</code></td>
257
<td class="itemcode"><code>function <b><a href="CastleImages.html#FileExtToImageFormatDef">FileExtToImageFormatDef</a></b>(const FileExt: string; OnlyLoadable, OnlySaveable: boolean; DefFormat: <a href="CastleImages.html#TImageFormat">TImageFormat</a>): <a href="CastleImages.html#TImageFormat">TImageFormat</a>;</code></td>
260
<td class="itemcode"><code>function <b><a href="CastleImages.html#IsFileExtToImageFormat">IsFileExtToImageFormat</a></b>(const FileExt: string; OnlyLoadable, OnlySaveable: boolean): boolean;</code></td>
263
<td class="itemcode"><code>function <b><a href="CastleImages.html#IsFileExtLoadableImage">IsFileExtLoadableImage</a></b>(const FileExt: string): boolean;</code></td>
266
<td class="itemcode"><code>function <b><a href="CastleImages.html#FindExistingImageExt">FindExistingImageExt</a></b>(const fname: string; OnlyLoadable: boolean): string;</code></td>
269
<td class="itemcode"><code>function <b><a href="CastleImages.html#TryFindExistingImageExt">TryFindExistingImageExt</a></b>(const fname: string; OnlyLoadable: boolean): string;</code></td>
250
<td class="itemcode"><code>function <b><a href="CastleImages.html#MimeTypeToImageFormat">MimeTypeToImageFormat</a></b>(const MimeType: string; const OnlyLoadable, OnlySaveable: boolean; out ImgFormat: <a href="CastleImages.html#TImageFormat">TImageFormat</a>): boolean;</code></td>
272
253
<td class="itemcode"><code>function <b><a href="CastleImages.html#ListImageExtsLong">ListImageExtsLong</a></b>(OnlyLoadable, OnlySaveable: boolean; const LinePrefix: string): string;</code></td>
275
256
<td class="itemcode"><code>function <b><a href="CastleImages.html#ListImageExtsShort">ListImageExtsShort</a></b>(OnlyLoadable, OnlySaveable: boolean): string;</code></td>
278
259
<td class="itemcode"><code>function <b><a href="CastleImages.html#LoadImage">LoadImage</a></b>(Stream: TStream; const StreamFormat: <a href="CastleImages.html#TImageFormat">TImageFormat</a>; const AllowedImageClasses: array of <a href="CastleImages.html#TCastleImageClass">TCastleImageClass</a>) :<a href="CastleImages.TCastleImage.html">TCastleImage</a>; overload;</code></td>
281
<td class="itemcode"><code>function <b><a href="CastleImages.html#LoadImage">LoadImage</a></b>(Stream: TStream; const typeext: string; const AllowedImageClasses: array of <a href="CastleImages.html#TCastleImageClass">TCastleImageClass</a>) :<a href="CastleImages.TCastleImage.html">TCastleImage</a>; overload;</code></td>
284
<td class="itemcode"><code>function <b><a href="CastleImages.html#LoadImage">LoadImage</a></b>(const filename: string; const AllowedImageClasses: array of <a href="CastleImages.html#TCastleImageClass">TCastleImageClass</a>) :<a href="CastleImages.TCastleImage.html">TCastleImage</a>; overload;</code></td>
287
<td class="itemcode"><code>function <b><a href="CastleImages.html#LoadImage">LoadImage</a></b>(const filename: string; const AllowedImageClasses: array of <a href="CastleImages.html#TCastleImageClass">TCastleImageClass</a>; const ResizeToX, ResizeToY: Cardinal; const Interpolation: <a href="CastleImages.html#TResizeInterpolation">TResizeInterpolation</a> = riNearest): <a href="CastleImages.TCastleImage.html">TCastleImage</a>; overload;</code></td>
262
<td class="itemcode"><code>function <b><a href="CastleImages.html#LoadImage">LoadImage</a></b>(Stream: TStream; const MimeType: string; const AllowedImageClasses: array of <a href="CastleImages.html#TCastleImageClass">TCastleImageClass</a>) :<a href="CastleImages.TCastleImage.html">TCastleImage</a>; overload;</code></td>
265
<td class="itemcode"><code>function <b><a href="CastleImages.html#LoadImage">LoadImage</a></b>(const URL: string; const AllowedImageClasses: array of <a href="CastleImages.html#TCastleImageClass">TCastleImageClass</a>) :<a href="CastleImages.TCastleImage.html">TCastleImage</a>; overload;</code></td>
268
<td class="itemcode"><code>function <b><a href="CastleImages.html#LoadImage">LoadImage</a></b>(const URL: string; const AllowedImageClasses: array of <a href="CastleImages.html#TCastleImageClass">TCastleImageClass</a>; const ResizeToX, ResizeToY: Cardinal; const Interpolation: <a href="CastleImages.html#TResizeInterpolation">TResizeInterpolation</a> = riNearest): <a href="CastleImages.TCastleImage.html">TCastleImage</a>; overload;</code></td>
290
271
<td class="itemcode"><code>procedure <b><a href="CastleImages.html#SaveImage">SaveImage</a></b>(const img: <a href="CastleImages.TCastleImage.html">TCastleImage</a>; const Format: <a href="CastleImages.html#TImageFormat">TImageFormat</a>; Stream: TStream); overload;</code></td>
293
<td class="itemcode"><code>procedure <b><a href="CastleImages.html#SaveImage">SaveImage</a></b>(const img: <a href="CastleImages.TCastleImage.html">TCastleImage</a>; const typeext: string; Stream: TStream); overload;</code></td>
296
<td class="itemcode"><code>procedure <b><a href="CastleImages.html#SaveImage">SaveImage</a></b>(const Img: <a href="CastleImages.TCastleImage.html">TCastleImage</a>; const fname: string); overload;</code></td>
274
<td class="itemcode"><code>procedure <b><a href="CastleImages.html#SaveImage">SaveImage</a></b>(const img: <a href="CastleImages.TCastleImage.html">TCastleImage</a>; const MimeType: string; Stream: TStream); overload;</code></td>
277
<td class="itemcode"><code>procedure <b><a href="CastleImages.html#SaveImage">SaveImage</a></b>(const Img: <a href="CastleImages.TCastleImage.html">TCastleImage</a>; const URL: string); overload;</code></td>
299
280
<td class="itemcode"><code>procedure <b><a href="CastleImages.html#ImageAlphaConstTo1st">ImageAlphaConstTo1st</a></b>(var Img: <a href="CastleImages.TCastleImage.html">TCastleImage</a>; const AlphaConst: byte);</code></td>
302
<td class="itemcode"><code>function <b><a href="CastleImages.html#ImageClassBestForSavingToFormat">ImageClassBestForSavingToFormat</a></b>(ImgFormat: <a href="CastleImages.html#TImageFormat">TImageFormat</a>): <a href="CastleImages.html#TCastleImageClass">TCastleImageClass</a>; overload;</code></td>
305
<td class="itemcode"><code>function <b><a href="CastleImages.html#ImageClassBestForSavingToFormat">ImageClassBestForSavingToFormat</a></b>(const FileName: string): <a href="CastleImages.html#TCastleImageClass">TCastleImageClass</a>; overload;</code></td>
283
<td class="itemcode"><code>function <b><a href="CastleImages.html#ImageClassBestForSavingToFormat">ImageClassBestForSavingToFormat</a></b>(const Format: <a href="CastleImages.html#TImageFormat">TImageFormat</a>): <a href="CastleImages.html#TCastleImageClass">TCastleImageClass</a>; overload;</code></td>
286
<td class="itemcode"><code>function <b><a href="CastleImages.html#ImageClassBestForSavingToFormat">ImageClassBestForSavingToFormat</a></b>(const URL: string): <a href="CastleImages.html#TCastleImageClass">TCastleImageClass</a>; overload;</code></td>
308
289
<td class="itemcode"><code>procedure <b><a href="CastleImages.html#AlphaMaxTo1st">AlphaMaxTo1st</a></b>(var A: <a href="CastleImages.html#TAlphaChannel">TAlphaChannel</a>; const B: <a href="CastleImages.html#TAlphaChannel">TAlphaChannel</a>);</code></td>
374
358
<td class="itemcode"><code><b><a href="CastleImages.html#DefaultAlphaWrongPixelsTolerance">DefaultAlphaWrongPixelsTolerance</a></b> = 0.01;</code></td>
376
360
<tr class="list">
377
<td class="itemcode"><code><b><a href="CastleImages.html#ImageFormatInfos">ImageFormatInfos</a></b> :array[<a href="CastleImages.html#TImageFormat">TImageFormat</a>]of <a href="CastleImages.TImageFormatInfo.html">TImageFormatInfo</a> =
361
<td class="itemcode"><code><b><a href="CastleImages.html#ImageFormatInfos">ImageFormatInfos</a></b>: array [<a href="CastleImages.html#TImageFormat">TImageFormat</a>] of <a href="CastleImages.TImageFormatInfo.html">TImageFormatInfo</a> =
381
365
( FormatName: 'PNG image';
367
MimeTypes: ('image/png', '', '', '', '', '');
382
368
ExtsCount: 1; Exts: ('png', '', '');
383
369
Load: @<a href="CastleImages.html#LoadPNG">LoadPNG</a>; LoadedClasses: lcG_GA_RGB_RGBA;
384
370
Save: @<a href="CastleImages.html#SavePNG">SavePNG</a>; SavedClasses: scG_GA_RGB_RGBA; ),
385
371
( FormatName: 'Windows BMP image';
373
MimeTypes: ('image/bmp', '', '', '', '', '');
386
374
ExtsCount: 1; Exts: ('bmp', '', '');
387
375
Load: @<a href="CastleImages.html#LoadBMP">LoadBMP</a>; LoadedClasses: lcRGB_RGBA;
388
376
Save: @<a href="CastleImages.html#SaveBMP">SaveBMP</a>; SavedClasses: scRGB),
390
378
( FormatName: 'PPM image';
380
MimeTypes: ('image/x-portable-pixmap', '', '', '', '', '');
391
381
ExtsCount: 1; Exts: ('ppm', '', '');
392
382
Load: @<a href="CastleImages.html#LoadPPM">LoadPPM</a>; LoadedClasses: lcRGB;
393
383
Save: @<a href="CastleImages.html#SavePPM">SavePPM</a>; SavedClasses: scRGB; ),
395
385
( FormatName: 'JPEG image';
387
MimeTypes: ('image/jpeg', 'image/jpg', '', '', '', '');
396
388
ExtsCount: 3; Exts: ('jpg', 'jpeg', 'jpe');
397
389
Load: @<a href="CastleImages.html#LoadJPEG">LoadJPEG</a>; LoadedClasses: lcRGB_RGBA;
398
390
Save: @<a href="CastleImages.html#SaveJPEG">SaveJPEG</a>; SavedClasses: scRGB ),
400
392
( FormatName: 'GIF image';
394
MimeTypes: ('image/gif', '', '', '', '', '');
401
395
ExtsCount: 1; Exts: ('gif', '', '');
402
396
Load: @<a href="CastleImages.html#LoadGIF">LoadGIF</a>; LoadedClasses: lcRGB_RGBA;
403
397
Save: nil; SavedClasses: scRGB; ),
404
398
( FormatName: 'TarGA image';
405
ExtsCount: 1; Exts: ('tga', '', '');
400
MimeTypes: ('image/x-targa', 'image/x-tga', '', '', '', '');
401
ExtsCount: 2; Exts: ('tga', 'tpic', '');
406
402
Load: @<a href="CastleImages.html#LoadTGA">LoadTGA</a>; LoadedClasses: lcRGB_RGBA;
407
403
Save: nil; SavedClasses: scRGB; ),
408
404
( FormatName: 'XPM image';
406
MimeTypes: ('image/x-xpixmap', '', '', '', '', '');
409
407
ExtsCount: 1; Exts: ('xpm', '', '');
410
408
Load: @<a href="CastleImages.html#LoadXPM">LoadXPM</a>; LoadedClasses: lcRGB_RGBA;
411
409
Save: nil; SavedClasses: scRGB; ),
412
410
( FormatName: 'PSD image';
412
MimeTypes: ('image/photoshop', 'image/x-photoshop', 'image/psd', 'application/photoshop', '', '');
413
413
ExtsCount: 1; Exts: ('psd', '', '');
414
414
Load: @<a href="CastleImages.html#LoadPSD">LoadPSD</a>; LoadedClasses: lcRGB_RGBA;
415
415
Save: nil; SavedClasses: scRGB; ),
416
416
( FormatName: 'ZSoft PCX image';
418
MimeTypes: ('image/pcx', 'application/pcx', 'application/x-pcx', 'image/x-pc-paintbrush', 'image/x-pcx', '');
417
419
ExtsCount: 1; Exts: ('pcx', '', '');
418
420
Load: @<a href="CastleImages.html#LoadPCX">LoadPCX</a>; LoadedClasses: lcRGB_RGBA;
419
421
Save: nil; SavedClasses: scRGB; ),
420
422
( FormatName: 'PNM image';
424
MimeTypes: ('image/x-portable-anymap', 'image/x-portable-graymap', 'image/x-pgm', 'image/x-portable-bitmap', 'image/pbm', 'image/x-pbm');
421
425
ExtsCount: 3; Exts: ('pnm', 'pgm', 'pbm');
422
426
Load: @<a href="CastleImages.html#LoadPNM">LoadPNM</a>; LoadedClasses: lcRGB_RGBA;
423
427
Save: nil; SavedClasses: scRGB; ),
426
430
( FormatName: 'DDS image';
432
MimeTypes: ('image/x-dds', '', '', '', '', '');
427
433
ExtsCount: 1; Exts: ('dds', '', '');
428
434
Load: @<a href="CastleImages.html#LoadDDS">LoadDDS</a>; LoadedClasses: lcG_GA_RGB_RGBA;
429
435
Save: @<a href="CastleImages.html#SaveDDS">SaveDDS</a>; SavedClasses: scG_GA_RGB_RGBA; ),
433
439
( FormatName: 'RGBE (RGB+Exponent) image';
434
ExtsCount: 2; Exts: ('rgbe', 'pic', '');
441
MimeTypes: ('image/vnd.radiance', '', '', '', '', '');
442
ExtsCount: 3; Exts: ('rgbe', 'pic', 'hdr');
435
443
Load: @<a href="CastleImages.html#LoadRGBE">LoadRGBE</a>; LoadedClasses: lcRGB_RGBFloat;
436
444
Save: @<a href="CastleImages.html#SaveRGBE">SaveRGBE</a>; SavedClasses: scRGB_RGBFloat; ),
437
445
( FormatName: 'IPLab image';
448
MimeTypes: ('image/x-ipl', '', '', '', '', '');
438
449
ExtsCount: 1; Exts: ('ipl', '', '');
439
450
Load: @<a href="CastleImages.html#LoadIPL">LoadIPL</a>; LoadedClasses: lcRGB;
440
451
Save: nil; SavedClasses: scRGB; ),
444
455
( FormatName: 'TIFF image';
445
ExtsCount: 1; Exts: ('tif', '', '');
457
MimeTypes: ('image/tiff', '', '', '', '', '');
458
ExtsCount: 2; Exts: ('tiff', 'tif', '');
446
459
Load: @<a href="CastleImages.html#LoadTIFF">LoadTIFF</a>; LoadedClasses: lcRGB_RGBA;
447
460
Save: nil; SavedClasses: scRGB; ),
448
461
( FormatName: 'SGI image';
463
MimeTypes: ('image/sgi', 'image/x-sgi', 'image/x-sgi-rgba', '', '', '');
449
464
ExtsCount: 1; Exts: ('sgi', '', '');
450
465
Load: @<a href="CastleImages.html#LoadSGI">LoadSGI</a>; LoadedClasses: lcG_GA_RGB_RGBA;
451
466
Save: nil; SavedClasses: scRGB; ),
452
( FormatName: 'JP2 image';
467
( FormatName: 'JPEG 2000 image';
469
MimeTypes: ('image/jp2', 'image/jpeg2000', 'image/jpeg2000-image', 'image/x-jpeg2000-image', '', '');
453
470
ExtsCount: 1; Exts: ('jp2', '', '');
454
471
Load: @<a href="CastleImages.html#LoadJP2">LoadJP2</a>; LoadedClasses: lcG_GA_RGB_RGBA;
455
472
Save: nil; SavedClasses: scRGB; ),
456
473
( FormatName: 'EXR image';
475
MimeTypes: ('image/x-exr', '', '', '', '', '');
457
476
ExtsCount: 1; Exts: ('exr', '', '');
458
477
Load: @<a href="CastleImages.html#LoadEXR">LoadEXR</a>; LoadedClasses: lcG_GA_RGB_RGBA;
459
478
Save: nil; SavedClasses: scRGB; )
463
<td class="itemcode"><code><b><a href="CastleImages.html#DefaultSaveImageFormat">DefaultSaveImageFormat</a></b>: <a href="CastleImages.html#TImageFormat">TImageFormat</a> = ifBMP;</code></td>
466
482
<a name="PasDoc-Variables"></a><h3 class="summary">Variables</h3>
467
483
<table class="summary wide_list">
751
767
<table class="detail wide_list">
752
768
<tr class="list">
753
<td class="itemcode"><a name="FileExtToImageFormat"></a><code>function <b>FileExtToImageFormat</b>(FileExt: string; OnlyLoadable, OnlySaveable: boolean; out ImgFormat: <a href="CastleImages.html#TImageFormat">TImageFormat</a>): boolean;</code></td>
757
Find image file format with given file extension. FileExt may, but doesn't have to, contain the leading dot. Returns <code>False</code> if no format matching given extension.</p>
760
<table class="detail wide_list">
762
<td class="itemcode"><a name="FileExtToImageFormatDef"></a><code>function <b>FileExtToImageFormatDef</b>(const FileExt: string; OnlyLoadable, OnlySaveable: boolean; DefFormat: <a href="CastleImages.html#TImageFormat">TImageFormat</a>): <a href="CastleImages.html#TImageFormat">TImageFormat</a>;</code></td>
766
Find image file format with given file extension, return default format if not found. Like <a class="normal" href="CastleImages.html#FileExtToImageFormat">FileExtToImageFormat</a>, but returns DefFormat if no matching format found.</p>
769
<table class="detail wide_list">
771
<td class="itemcode"><a name="IsFileExtToImageFormat"></a><code>function <b>IsFileExtToImageFormat</b>(const FileExt: string; OnlyLoadable, OnlySaveable: boolean): boolean;</code></td>
775
Check do we handle image file format with given file extension. Like <a class="normal" href="CastleImages.html#FileExtToImageFormat">FileExtToImageFormat</a>, except here we just check if the file extension is a handled format — we are not interested in actual <a class="normal" href="CastleImages.html#TImageFormat">TImageFormat</a> value.</p>
778
<table class="detail wide_list">
780
<td class="itemcode"><a name="IsFileExtLoadableImage"></a><code>function <b>IsFileExtLoadableImage</b>(const FileExt: string): boolean;</code></td>
784
Check do we handle loading image file format with given file extension. Like <a class="normal" href="CastleImages.html#IsFileExtToImageFormat">IsFileExtToImageFormat</a>, with OnlyLoadable = <code>True</code>, OnlySaveable = <code>False</code>.</p>
787
<table class="detail wide_list">
789
<td class="itemcode"><a name="FindExistingImageExt"></a><code>function <b>FindExistingImageExt</b>(const fname: string; OnlyLoadable: boolean): string;</code></td>
793
Find an existing filename by appending known image files extensions. Treat a given string S like a filename with a trailing dot and an extension. For each known image file extension, try to append it (with leading dot) and check does the file exists (as a regular file, that is by <a class="normal" href="CastleFilesUtils.html#NormalFileExists">NormalFileExists</a>).
795
<p>If found — return complete file name. If not found, <code>FindExistingImageExt</code> raises <a class="normal" href="CastleImages.ENoExistingImageExt.html">ENoExistingImageExt</a>, while <a class="normal" href="CastleImages.html#TryFindExistingImageExt">TryFindExistingImageExt</a> returns ''.
800
<h6 class="description_section">Parameters</h6>
801
<dl class="parameters">
802
<dt>OnlyLoadable</dt>
803
<dd>If <code>True</code>, will try to append only image file extensions that we can load.</dd>
805
<h6 class="description_section">Exceptions raised</h6>
806
<dl class="exceptions_raised">
807
<dt><a class="normal" href="CastleImages.ENoExistingImageExt.html">ENoExistingImageExt</a></dt>
808
<dd><code>FindExistingImageExt</code> raises this if no existing image file can be found.</dd>
812
<table class="detail wide_list">
814
<td class="itemcode"><a name="TryFindExistingImageExt"></a><code>function <b>TryFindExistingImageExt</b>(const fname: string; OnlyLoadable: boolean): string;</code></td>
769
<td class="itemcode"><a name="MimeTypeToImageFormat"></a><code>function <b>MimeTypeToImageFormat</b>(const MimeType: string; const OnlyLoadable, OnlySaveable: boolean; out ImgFormat: <a href="CastleImages.html#TImageFormat">TImageFormat</a>): boolean;</code></td>
773
Find image file format with given MIME type. Returns <code>False</code> if no format matching given MIME type.</p>
819
776
<table class="detail wide_list">
820
777
<tr class="list">
855
814
<pre class="longcode">
856
815
<span class="pascal_comment">{ When you don't care what TCastleImage descendant you get: }</span>
857
Image := LoadImage(<span class="pascal_string">'filename.png'</span>, []);
816
Image := LoadImage(<span class="pascal_string">'image.png'</span>, []);
859
818
<span class="pascal_comment">{ When you insist on getting TRGBImage, that is 8-bit color image
860
819
without an alpha channel. }</span>
861
ImageRGB := LoadImage(<span class="pascal_string">'filename.png'</span>, [TRGBImage]) <span class="pascal_keyword">as</span> TRGBImage;
820
ImageRGB := LoadImage(<span class="pascal_string">'image.png'</span>, [TRGBImage]) <span class="pascal_keyword">as</span> TRGBImage;
866
<p>Image file format is guess from FileName (or filename extension in TypeExt (may but doesn't have to contain leading dot), or can be just given explicitly by Format).
825
<p>Image file format may be given explicitly (overloaded version with Format parameter), or guessed based on URL extension (which can be given explicitly by TypeExt, or automatically calculated from full URL). For now, we cannot guess the file format based on file contents or MIME type (the latter case would be sensible for http URLs).
868
827
<p>AllowedImageClasses says what image classes are allowed. As a special case, AllowedImageClasses = [] is equivalent to AllowedImageClasses = [<a class="normal" href="CastleImages.TCastleImage.html">TCastleImage</a>] which says that all <a class="normal" href="CastleImages.TCastleImage.html">TCastleImage</a> descendants are allowed. Then this function will do everything it can to load any image into the best subclass of <a class="normal" href="CastleImages.TCastleImage.html">TCastleImage</a>, losing as little image information it can.
885
844
<dt><a class="normal" href="CastleImages.EUnableToLoadImage.html">EUnableToLoadImage</a></dt>
886
845
<dd>If Image cannot be loaded into allowed AllowedImageClasses.</dd>
887
846
<dt><a class="normal" href="CastleImages.EImageFormatNotSupported.html">EImageFormatNotSupported</a></dt>
888
<dd>If image file format cannot be loaded at all. This can happen only if format is totally unknown (e.g. not recognized FileName extension) or if image format has no Load method at all.</dd>
847
<dd>If image file format cannot be loaded at all. This can happen if format is totally unknown (not recognized MIME type, derived from file extension in case of local files) or if this image format cannot be loaded at all.</dd>
892
851
<table class="detail wide_list">
893
852
<tr class="list">
894
<td class="itemcode"><a name="LoadImage"></a><code>function <b>LoadImage</b>(Stream: TStream; const typeext: string; const AllowedImageClasses: array of <a href="CastleImages.html#TCastleImageClass">TCastleImageClass</a>) :<a href="CastleImages.TCastleImage.html">TCastleImage</a>; overload;</code></td>
899
<table class="detail wide_list">
901
<td class="itemcode"><a name="LoadImage"></a><code>function <b>LoadImage</b>(const filename: string; const AllowedImageClasses: array of <a href="CastleImages.html#TCastleImageClass">TCastleImageClass</a>) :<a href="CastleImages.TCastleImage.html">TCastleImage</a>; overload;</code></td>
906
<table class="detail wide_list">
908
<td class="itemcode"><a name="LoadImage"></a><code>function <b>LoadImage</b>(const filename: string; const AllowedImageClasses: array of <a href="CastleImages.html#TCastleImageClass">TCastleImageClass</a>; const ResizeToX, ResizeToY: Cardinal; const Interpolation: <a href="CastleImages.html#TResizeInterpolation">TResizeInterpolation</a> = riNearest): <a href="CastleImages.TCastleImage.html">TCastleImage</a>; overload;</code></td>
853
<td class="itemcode"><a name="LoadImage"></a><code>function <b>LoadImage</b>(Stream: TStream; const MimeType: string; const AllowedImageClasses: array of <a href="CastleImages.html#TCastleImageClass">TCastleImageClass</a>) :<a href="CastleImages.TCastleImage.html">TCastleImage</a>; overload;</code></td>
858
<table class="detail wide_list">
860
<td class="itemcode"><a name="LoadImage"></a><code>function <b>LoadImage</b>(const URL: string; const AllowedImageClasses: array of <a href="CastleImages.html#TCastleImageClass">TCastleImageClass</a>) :<a href="CastleImages.TCastleImage.html">TCastleImage</a>; overload;</code></td>
865
<table class="detail wide_list">
867
<td class="itemcode"><a name="LoadImage"></a><code>function <b>LoadImage</b>(const URL: string; const AllowedImageClasses: array of <a href="CastleImages.html#TCastleImageClass">TCastleImageClass</a>; const ResizeToX, ResizeToY: Cardinal; const Interpolation: <a href="CastleImages.html#TResizeInterpolation">TResizeInterpolation</a> = riNearest): <a href="CastleImages.TCastleImage.html">TCastleImage</a>; overload;</code></td>
910
869
<tr><td colspan="1">
1254
1222
<table class="detail wide_list">
1255
1223
<tr class="list">
1256
<td class="itemcode"><a name="ImageFormatInfos"></a><code><b>ImageFormatInfos</b> :array[<a href="CastleImages.html#TImageFormat">TImageFormat</a>]of <a href="CastleImages.TImageFormatInfo.html">TImageFormatInfo</a> =
1224
<td class="itemcode"><a name="ImageFormatInfos"></a><code><b>ImageFormatInfos</b>: array [<a href="CastleImages.html#TImageFormat">TImageFormat</a>] of <a href="CastleImages.TImageFormatInfo.html">TImageFormatInfo</a> =
1260
1228
( FormatName: 'PNG image';
1230
MimeTypes: ('image/png', '', '', '', '', '');
1261
1231
ExtsCount: 1; Exts: ('png', '', '');
1262
1232
Load: @<a href="CastleImages.html#LoadPNG">LoadPNG</a>; LoadedClasses: lcG_GA_RGB_RGBA;
1263
1233
Save: @<a href="CastleImages.html#SavePNG">SavePNG</a>; SavedClasses: scG_GA_RGB_RGBA; ),
1264
1234
( FormatName: 'Windows BMP image';
1236
MimeTypes: ('image/bmp', '', '', '', '', '');
1265
1237
ExtsCount: 1; Exts: ('bmp', '', '');
1266
1238
Load: @<a href="CastleImages.html#LoadBMP">LoadBMP</a>; LoadedClasses: lcRGB_RGBA;
1267
1239
Save: @<a href="CastleImages.html#SaveBMP">SaveBMP</a>; SavedClasses: scRGB),
1269
1241
( FormatName: 'PPM image';
1243
MimeTypes: ('image/x-portable-pixmap', '', '', '', '', '');
1270
1244
ExtsCount: 1; Exts: ('ppm', '', '');
1271
1245
Load: @<a href="CastleImages.html#LoadPPM">LoadPPM</a>; LoadedClasses: lcRGB;
1272
1246
Save: @<a href="CastleImages.html#SavePPM">SavePPM</a>; SavedClasses: scRGB; ),
1274
1248
( FormatName: 'JPEG image';
1250
MimeTypes: ('image/jpeg', 'image/jpg', '', '', '', '');
1275
1251
ExtsCount: 3; Exts: ('jpg', 'jpeg', 'jpe');
1276
1252
Load: @<a href="CastleImages.html#LoadJPEG">LoadJPEG</a>; LoadedClasses: lcRGB_RGBA;
1277
1253
Save: @<a href="CastleImages.html#SaveJPEG">SaveJPEG</a>; SavedClasses: scRGB ),
1279
1255
( FormatName: 'GIF image';
1257
MimeTypes: ('image/gif', '', '', '', '', '');
1280
1258
ExtsCount: 1; Exts: ('gif', '', '');
1281
1259
Load: @<a href="CastleImages.html#LoadGIF">LoadGIF</a>; LoadedClasses: lcRGB_RGBA;
1282
1260
Save: nil; SavedClasses: scRGB; ),
1283
1261
( FormatName: 'TarGA image';
1284
ExtsCount: 1; Exts: ('tga', '', '');
1263
MimeTypes: ('image/x-targa', 'image/x-tga', '', '', '', '');
1264
ExtsCount: 2; Exts: ('tga', 'tpic', '');
1285
1265
Load: @<a href="CastleImages.html#LoadTGA">LoadTGA</a>; LoadedClasses: lcRGB_RGBA;
1286
1266
Save: nil; SavedClasses: scRGB; ),
1287
1267
( FormatName: 'XPM image';
1269
MimeTypes: ('image/x-xpixmap', '', '', '', '', '');
1288
1270
ExtsCount: 1; Exts: ('xpm', '', '');
1289
1271
Load: @<a href="CastleImages.html#LoadXPM">LoadXPM</a>; LoadedClasses: lcRGB_RGBA;
1290
1272
Save: nil; SavedClasses: scRGB; ),
1291
1273
( FormatName: 'PSD image';
1275
MimeTypes: ('image/photoshop', 'image/x-photoshop', 'image/psd', 'application/photoshop', '', '');
1292
1276
ExtsCount: 1; Exts: ('psd', '', '');
1293
1277
Load: @<a href="CastleImages.html#LoadPSD">LoadPSD</a>; LoadedClasses: lcRGB_RGBA;
1294
1278
Save: nil; SavedClasses: scRGB; ),
1295
1279
( FormatName: 'ZSoft PCX image';
1281
MimeTypes: ('image/pcx', 'application/pcx', 'application/x-pcx', 'image/x-pc-paintbrush', 'image/x-pcx', '');
1296
1282
ExtsCount: 1; Exts: ('pcx', '', '');
1297
1283
Load: @<a href="CastleImages.html#LoadPCX">LoadPCX</a>; LoadedClasses: lcRGB_RGBA;
1298
1284
Save: nil; SavedClasses: scRGB; ),
1299
1285
( FormatName: 'PNM image';
1287
MimeTypes: ('image/x-portable-anymap', 'image/x-portable-graymap', 'image/x-pgm', 'image/x-portable-bitmap', 'image/pbm', 'image/x-pbm');
1300
1288
ExtsCount: 3; Exts: ('pnm', 'pgm', 'pbm');
1301
1289
Load: @<a href="CastleImages.html#LoadPNM">LoadPNM</a>; LoadedClasses: lcRGB_RGBA;
1302
1290
Save: nil; SavedClasses: scRGB; ),
1305
1293
( FormatName: 'DDS image';
1295
MimeTypes: ('image/x-dds', '', '', '', '', '');
1306
1296
ExtsCount: 1; Exts: ('dds', '', '');
1307
1297
Load: @<a href="CastleImages.html#LoadDDS">LoadDDS</a>; LoadedClasses: lcG_GA_RGB_RGBA;
1308
1298
Save: @<a href="CastleImages.html#SaveDDS">SaveDDS</a>; SavedClasses: scG_GA_RGB_RGBA; ),
1312
1302
( FormatName: 'RGBE (RGB+Exponent) image';
1313
ExtsCount: 2; Exts: ('rgbe', 'pic', '');
1304
MimeTypes: ('image/vnd.radiance', '', '', '', '', '');
1305
ExtsCount: 3; Exts: ('rgbe', 'pic', 'hdr');
1314
1306
Load: @<a href="CastleImages.html#LoadRGBE">LoadRGBE</a>; LoadedClasses: lcRGB_RGBFloat;
1315
1307
Save: @<a href="CastleImages.html#SaveRGBE">SaveRGBE</a>; SavedClasses: scRGB_RGBFloat; ),
1316
1308
( FormatName: 'IPLab image';
1311
MimeTypes: ('image/x-ipl', '', '', '', '', '');
1317
1312
ExtsCount: 1; Exts: ('ipl', '', '');
1318
1313
Load: @<a href="CastleImages.html#LoadIPL">LoadIPL</a>; LoadedClasses: lcRGB;
1319
1314
Save: nil; SavedClasses: scRGB; ),
1323
1318
( FormatName: 'TIFF image';
1324
ExtsCount: 1; Exts: ('tif', '', '');
1320
MimeTypes: ('image/tiff', '', '', '', '', '');
1321
ExtsCount: 2; Exts: ('tiff', 'tif', '');
1325
1322
Load: @<a href="CastleImages.html#LoadTIFF">LoadTIFF</a>; LoadedClasses: lcRGB_RGBA;
1326
1323
Save: nil; SavedClasses: scRGB; ),
1327
1324
( FormatName: 'SGI image';
1326
MimeTypes: ('image/sgi', 'image/x-sgi', 'image/x-sgi-rgba', '', '', '');
1328
1327
ExtsCount: 1; Exts: ('sgi', '', '');
1329
1328
Load: @<a href="CastleImages.html#LoadSGI">LoadSGI</a>; LoadedClasses: lcG_GA_RGB_RGBA;
1330
1329
Save: nil; SavedClasses: scRGB; ),
1331
( FormatName: 'JP2 image';
1330
( FormatName: 'JPEG 2000 image';
1332
MimeTypes: ('image/jp2', 'image/jpeg2000', 'image/jpeg2000-image', 'image/x-jpeg2000-image', '', '');
1332
1333
ExtsCount: 1; Exts: ('jp2', '', '');
1333
1334
Load: @<a href="CastleImages.html#LoadJP2">LoadJP2</a>; LoadedClasses: lcG_GA_RGB_RGBA;
1334
1335
Save: nil; SavedClasses: scRGB; ),
1335
1336
( FormatName: 'EXR image';
1338
MimeTypes: ('image/x-exr', '', '', '', '', '');
1336
1339
ExtsCount: 1; Exts: ('exr', '', '');
1337
1340
Load: @<a href="CastleImages.html#LoadEXR">LoadEXR</a>; LoadedClasses: lcG_GA_RGB_RGBA;
1338
1341
Save: nil; SavedClasses: scRGB; )