ImagingExtras.pas 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. {
  2. $Id$
  3. Vampyre Imaging Library
  4. by Marek Mauder
  5. http://imaginglib.sourceforge.net
  6. The contents of this file are used with permission, subject to the Mozilla
  7. Public License Version 1.1 (the "License"); you may not use this file except
  8. in compliance with the License. You may obtain a copy of the License at
  9. http://www.mozilla.org/MPL/MPL-1.1.html
  10. Software distributed under the License is distributed on an "AS IS" basis,
  11. WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
  12. the specific language governing rights and limitations under the License.
  13. Alternatively, the contents of this file may be used under the terms of the
  14. GNU Lesser General Public License (the "LGPL License"), in which case the
  15. provisions of the LGPL License are applicable instead of those above.
  16. If you wish to allow use of your version of this file only under the terms
  17. of the LGPL License and not to allow others to use your version of this file
  18. under the MPL, indicate your decision by deleting the provisions above and
  19. replace them with the notice and other provisions required by the LGPL
  20. License. If you do not delete the provisions above, a recipient may use
  21. your version of this file under either the MPL or the LGPL License.
  22. For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html
  23. }
  24. { This is helper unit that registers all image file formats in Extras package
  25. to Imaging core loading and saving functions. Just put this unit in your uses
  26. clause instead of adding every unit that provides new file format support.
  27. Also new constants for SetOption/GetOption functions for new file formats
  28. are located here.}
  29. unit ImagingExtras;
  30. {$I ImagingOptions.inc}
  31. {$DEFINE LINK_JPEG2000} // link support for JPEG2000 images
  32. { $DEFINE LINK_TIFF} // link support for TIFF images - disabled by default!
  33. {$DEFINE LINK_PSD} // link support for PSD images
  34. {$DEFINE LINK_PCX} // link support for PCX images
  35. {$DEFINE LINK_ELDER} // link support for Elder Imagery images
  36. {$IF not (Defined(DELPHI) or (Defined(FPC) and Defined(CPU86) and not Defined(MSDOS)))}
  37. // JPEG2000 only for Windows and for Linux/Unix with FPC
  38. {$UNDEF LINK_JPEG2000}
  39. {$IFEND}
  40. {$IF not Defined(DELPHI)}
  41. {$UNDEF LINK_TIFF} // Only for Delphi now
  42. {$IFEND}
  43. interface
  44. const
  45. { Those are new options for GetOption/SetOption interface. }
  46. { Controls JPEG 2000 lossy compression quality. It is number in range 1..100.
  47. 1 means small/ugly file, 100 means large/nice file. Default is 80.}
  48. ImagingJpeg2000Quality = 55;
  49. { Controls whether JPEG 2000 image is saved with full file headers or just
  50. as code stream. Default value is False (0).}
  51. ImagingJpeg2000CodeStreamOnly = 56;
  52. { Specifies JPEG 2000 image compression type. If True (1), saved JPEG 2000 files
  53. will be losslessly compressed. Otherwise lossy compression is used.
  54. Default value is False (0).}
  55. ImagingJpeg2000LosslessCompression = 57;
  56. { Specifies compression scheme used when saving TIFF images. Supported values
  57. are 0 (Uncompressed), 1 (LZW), 2 (PackBits RLE), 3 (Deflate - ZLib), 4 (JPEG).
  58. Default is 1 (LZW). Note that not all images can be stored with
  59. JPEG compression - these images will be saved with default compression if
  60. JPEG is set.}
  61. ImagingTiffCompression = 65;
  62. implementation
  63. uses
  64. {$IFDEF LINK_JPEG2000}
  65. ImagingJpeg2000,
  66. {$ENDIF}
  67. {$IFDEF LINK_TIFF}
  68. ImagingTiff,
  69. {$ENDIF}
  70. {$IFDEF LINK_PSD}
  71. ImagingPsd,
  72. {$ENDIF}
  73. {$IFDEF LINK_PCX}
  74. ImagingPcx,
  75. {$ENDIF}
  76. {$IFDEF LINK_ELDER}
  77. ElderImagery,
  78. {$ENDIF}
  79. Imaging;
  80. {
  81. File Notes:
  82. -- TODOS ----------------------------------------------------
  83. - nothing now
  84. -- 0.23 Changes/Bug Fixes -----------------------------------
  85. - Better IF conditional to disable JPEG2000 on unsupported platforms.
  86. - Added PSD and TIFF related stuff.
  87. -- 0.21 Changes/Bug Fixes -----------------------------------
  88. - Created with initial stuff.
  89. }
  90. end.