LowLevel.xml 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <?xml-stylesheet type="text/xsl" href="../Xsl/doc2html.xsl"?>
  3. <doc>
  4. <title>Low Level Interface</title>
  5. <chapter>
  6. <title>Low Level Interface</title>
  7. <par>
  8. Imaging's low level interface is set of functions operating
  9. on <ref>TImageData</ref> structure and <ref>TDynImageDataArray</ref>.
  10. These functions are implemented in <ref>Imaging.pas</ref> unit
  11. and you can find how to use them in
  12. <link url="../Procedures/Procedures.xml">How To ... </link> section.
  13. You can also look at <link url="../Demos/Demos.xml">Demos</link> section.
  14. Low level interface is accessible from programming languages other
  15. than <b>Object Pascal</b>. Information on this can be found in
  16. <link url="../Procedures/Low/UsingDll.xml">Using dll/so Access</link> section.
  17. </par>
  18. <note>
  19. There are more functions in Imaging that are not part of low level interface
  20. but can be freely used with it. Ulike those, low level interface functions are
  21. provided for other programming languages too.
  22. Look at <ref>Imaging.pas</ref>, <ref>ImagingFormats.pas</ref>, and other units
  23. for more functions.
  24. </note>
  25. <par>
  26. Here is the table with all low level interface functions currently available.
  27. </par>
  28. <table>
  29. <!-- General Functions -->
  30. <row><th>General Functions</th></row>
  31. <row><td><ref>InitImage</ref></td></row>
  32. <row><td><ref>NewImage</ref></td></row>
  33. <row><td><ref>TestImage</ref></td></row>
  34. <row><td><ref>FreeImage</ref></td></row>
  35. <row><td><ref>FreeImagesInArray</ref></td></row>
  36. <row><td><ref>TestImagesInArray</ref></td></row>
  37. <row><td><ref>DetermineFileFormat</ref></td></row>
  38. <row><td><ref>DetermineStreamFormat</ref></td></row>
  39. <row><td><ref>DetermineMemoryFormat</ref></td></row>
  40. <row><td><ref>IsFileFormatSupported</ref></td></row>
  41. <row><td><ref>EnumFileFormats</ref></td></row>
  42. <!-- Loading Functions -->
  43. <row><th>Loading Functions</th></row>
  44. <row><td><ref>LoadImageFromFile</ref></td></row>
  45. <row><td><ref>LoadImageFromStream</ref></td></row>
  46. <row><td><ref>LoadImageFromMemory</ref></td></row>
  47. <row><td><ref>LoadMultiImageFromFile</ref></td></row>
  48. <row><td><ref>LoadMultiImageFromStream</ref></td></row>
  49. <row><td><ref>LoadMultiImageFromMemory</ref></td></row>
  50. <!-- Saving Functions -->
  51. <row><th>Saving Functions</th></row>
  52. <row><td><ref>SaveImageToFile</ref></td></row>
  53. <row><td><ref>SaveImageToStream</ref></td></row>
  54. <row><td><ref>SaveImageToMemory</ref></td></row>
  55. <row><td><ref>SaveMultiImageToFile</ref></td></row>
  56. <row><td><ref>SaveMultiImageToStream</ref></td></row>
  57. <row><td><ref>SaveMultiImageToMemory</ref></td></row>
  58. <!-- Manipulation Functions -->
  59. <row><th>Manipulation Functions</th></row>
  60. <row><td><ref>CloneImage</ref></td></row>
  61. <row><td><ref>ConvertImage</ref></td></row>
  62. <row><td><ref>FlipImage</ref></td></row>
  63. <row><td><ref>MirrorImage</ref></td></row>
  64. <row><td><ref>ResizeImage</ref></td></row>
  65. <row><td><ref>SwapChannels</ref></td></row>
  66. <row><td><ref>ReduceColors</ref></td></row>
  67. <row><td><ref>GenerateMipMaps</ref></td></row>
  68. <row><td><ref>MapImageToPalette</ref></td></row>
  69. <row><td><ref>SplitImage</ref></td></row>
  70. <row><td><ref>MakePaletteForImages</ref></td></row>
  71. <row><td><ref>RotateImage</ref></td></row>
  72. <!-- Drawing/Pixel Functions -->
  73. <row><th>Drawing/Pixel Functions</th></row>
  74. <row><td><ref>CopyRect</ref></td></row>
  75. <row><td><ref>FillRect</ref></td></row>
  76. <row><td><ref>ReplaceColor</ref></td></row>
  77. <row><td><ref>StretchRect</ref></td></row>
  78. <row><td><ref>GetPixelDirect</ref></td></row>
  79. <row><td><ref>SetPixelDirect</ref></td></row>
  80. <row><td><ref>GetPixel32</ref></td></row>
  81. <row><td><ref>SetPixel32</ref></td></row>
  82. <row><td><ref>GetPixelFP</ref></td></row>
  83. <row><td><ref>SetPixelFP</ref></td></row>
  84. <!-- Palette Functions -->
  85. <row><th>Palette Functions</th></row>
  86. <row><td><ref>NewPalette</ref></td></row>
  87. <row><td><ref>FreePalette</ref></td></row>
  88. <row><td><ref>CopyPalette</ref></td></row>
  89. <row><td><ref>FindColor</ref></td></row>
  90. <row><td><ref>FillGrayscalePalette</ref></td></row>
  91. <row><td><ref>FillCustomPalette</ref></td></row>
  92. <row><td><ref>SwapChannelsOfPalette</ref></td></row>
  93. <!-- Options Functions -->
  94. <row><th>Options Functions</th></row>
  95. <row><td><ref>SetOption</ref></td></row>
  96. <row><td><ref>GetOption</ref></td></row>
  97. <row><td><ref>PushOptions</ref></td></row>
  98. <row><td><ref>PopOptions</ref></td></row>
  99. <!-- Image Format Functions -->
  100. <row><th>Image Format Functions</th></row>
  101. <row><td><ref>GetImageFormatInfo</ref></td></row>
  102. <row><td><ref>GetPixelsSize</ref></td></row>
  103. <!-- IO Functions -->
  104. <row><th>IO Functions</th></row>
  105. <row><td><ref>SetUserFileIO</ref></td></row>
  106. <row><td><ref>ResetFileIO</ref></td></row>
  107. </table>
  108. <par>
  109. You can find other functions in <link url="../Reference.xml">Reference</link>
  110. but they are not available for other languages thus they are not
  111. part of the low level interface. Some of them are even dangerous to use
  112. if you do not know what you are doing.
  113. </par>
  114. </chapter>
  115. </doc>