Jpeg2000.xml 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <?xml-stylesheet type="text/xsl" href="../Xsl/doc2html.xsl"?>
  3. <doc>
  4. <title>JPEG 2000 Format</title>
  5. <chapter>
  6. <title>JPEG 2000 Format</title>
  7. <par>
  8. <b>JPEG 2000</b> is a wavelet-based image compression standard.
  9. It was created by the <b>Joint Photographic Experts Group</b> committee
  10. as a replacement for their own DCT based JPEG standard.
  11. JPEG 2000 can operate at higher compression
  12. ratios without generating 'blocky and blurry'
  13. artifacts of the older JPEG standard.
  14. Nowadays JPEG 2000 is not as widely supported as its predecessor.
  15. Common file name extensions are <b>.jp2</b>, <b>.j2c</b>, and <b>.j2k</b> (for code stream only).
  16. </par>
  17. <par>
  18. As of version 0.24.2 Imaging uses <b>OpenJPEG</b> library
  19. compiled to object files (Delphi) or static libraries (FPC)
  20. and linked to Object Pascal program.
  21. Therefore, JPEG 2000 support is not a part of core library
  22. (not native Pascal) now
  23. and is located in <keyword>Extras</keyword> package.
  24. Currently Imaging supports JPEG 2000 on Win32
  25. (for Delphi and FPC) and Linux systems (FPC only - no Kylix support).
  26. For Linux there are precompiled objects for x86 and x86_64 architectures.
  27. </par>
  28. <par>
  29. JPEG 2000 supports wide variety of data formats. You can have arbitrary number
  30. of components/channels, each with different bitdepth and optional
  31. "signedness". JPEG 2000 images can be lossy or lossless compressed.
  32. Imaging can load most data formats (except multichannel images
  33. with component bitdepth > 16 => no Imaging data format equivalents).
  34. Components with sample separation are loaded correctly, ICC profiles
  35. or palettes are not used, YCbCr images are translated to RGB.
  36. </par>
  37. <table>
  38. <title>JPEG 2000 File Format Support</title>
  39. <row>
  40. <th>Format</th>
  41. <th>TImageFormat equivalent</th>
  42. <th>Loading</th>
  43. <th>Saving</th>
  44. </row>
  45. <row>
  46. <td>8 bit grayscale</td>
  47. <td><icode>ifGray8</icode></td>
  48. <td>Yes</td><td>Yes</td>
  49. </row>
  50. <row>
  51. <td>16 bit grayscale</td>
  52. <td><icode>ifGray16</icode></td>
  53. <td>Yes</td><td>Yes</td>
  54. </row>
  55. <row>
  56. <td>32 bit grayscale</td>
  57. <td><icode>ifGray32</icode></td>
  58. <td>Yes</td><td>Yes</td>
  59. </row>
  60. <row>
  61. <td>8 bit grayscale + alpha</td>
  62. <td><icode>ifA8Gray8</icode></td>
  63. <td>Yes</td><td>Yes</td>
  64. </row>
  65. <row>
  66. <td>16 bit grayscale + alpha</td>
  67. <td><icode>ifA16Gray16</icode></td>
  68. <td>Yes</td><td>Yes</td>
  69. </row>
  70. <row>
  71. <td>24 bit RGB</td>
  72. <td><icode>ifR8G8B8</icode></td>
  73. <td>Yes</td><td>Yes</td>
  74. </row>
  75. <row>
  76. <td>48 bit RGB</td>
  77. <td><icode>ifR16G16B16</icode></td>
  78. <td>Yes</td><td>Yes</td>
  79. </row>
  80. <row>
  81. <td>32 bit ARGB</td>
  82. <td><icode>ifA8R8G8B8</icode></td>
  83. <td>Yes</td><td>Yes</td>
  84. </row>
  85. <row>
  86. <td>64 bit ARGB</td>
  87. <td><icode>ifA16R16G16B16</icode></td>
  88. <td>Yes</td><td>Yes</td>
  89. </row>
  90. </table>
  91. <note>
  92. JPEG 2000 offers vast amount of channel count and bitdepth combinations
  93. but formats listed in table are the most common ones.
  94. </note>
  95. <par>
  96. When working with JPEG 2000 files you can find useful some options
  97. which can be set by <ref>SetOption</ref> function and their current values
  98. can be get by <ref>GetOption</ref> function.
  99. Or you can set them by modifying properties of <ref>TJpeg2000FileFormat</ref>
  100. class.
  101. </par>
  102. <table>
  103. <title>Options Related to JPEG 2000 Files</title>
  104. <row>
  105. <th>OptionId</th>
  106. <th>Allowed Values</th>
  107. <th>Usage</th>
  108. </row>
  109. <row>
  110. <td><ref>ImagingJpeg2000Quality</ref></td>
  111. <td><b>1</b> to <b>100</b></td>
  112. <td>
  113. JPEG 2000 compression quality used when saving images.
  114. Higher value means worse compression/better image quality/larger file size.
  115. Default value is <b>80</b>.
  116. </td>
  117. </row>
  118. <row>
  119. <td><ref>ImagingJpeg2000CodeStreamOnly</ref></td>
  120. <td><b>0 (False)</b> or <b>1 (True)</b></td>
  121. <td>
  122. Controls whether JPEG 2000 image is saved with full file headers or just
  123. as code stream. Default value is <b>False (0)</b>.
  124. </td>
  125. </row>
  126. <row>
  127. <td><ref>ImagingJpeg2000LosslessCompression</ref></td>
  128. <td><b>0 (False)</b> or <b>1 (True)</b></td>
  129. <td>
  130. Specifies JPEG 2000 image compression type. If True (1), saved JPEG 2000 files
  131. will be losslessly compressed. Otherwise lossy compression is used.
  132. Default value is <b>False (0)</b>.
  133. </td>
  134. </row>
  135. </table>
  136. </chapter>
  137. </doc>