You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3680 lines
219 KiB

1 year ago
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <meta name="generator" content="Doxygen 1.8.5"/>
  7. <title>Face Engine SDK: fsdk::Image Struct Reference</title>
  8. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  9. <script type="text/javascript" src="jquery.js"></script>
  10. <script type="text/javascript" src="dynsections.js"></script>
  11. <link href="navtree.css" rel="stylesheet" type="text/css"/>
  12. <script type="text/javascript" src="resize.js"></script>
  13. <script type="text/javascript" src="navtree.js"></script>
  14. <script type="text/javascript">
  15. $(document).ready(initResizable);
  16. $(window).load(resizeHeight);
  17. </script>
  18. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  19. <script type="text/javascript" src="search/search.js"></script>
  20. <script type="text/javascript">
  21. $(document).ready(function() { searchBox.OnSelectItem(0); });
  22. </script>
  23. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  24. </head>
  25. <body>
  26. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  27. <div id="titlearea">
  28. <table cellspacing="0" cellpadding="0">
  29. <tbody>
  30. <tr style="height: 56px;">
  31. <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
  32. <td style="padding-left: 0.5em;">
  33. <div id="projectname">Face Engine SDK
  34. &#160;<span id="projectnumber">5.8.0</span>
  35. </div>
  36. <div id="projectbrief">A face detection, recognition and tracking engine.</div>
  37. </td>
  38. </tr>
  39. </tbody>
  40. </table>
  41. </div>
  42. <!-- end header part -->
  43. <!-- Generated by Doxygen 1.8.5 -->
  44. <script type="text/javascript">
  45. var searchBox = new SearchBox("searchBox", "search",false,'Search');
  46. </script>
  47. <div id="navrow1" class="tabs">
  48. <ul class="tablist">
  49. <li><a href="index.html"><span>Main&#160;Page</span></a></li>
  50. <li><a href="modules.html"><span>Modules</span></a></li>
  51. <li><a href="namespaces.html"><span>Namespaces</span></a></li>
  52. <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
  53. <li><a href="files.html"><span>Files</span></a></li>
  54. <li>
  55. <div id="MSearchBox" class="MSearchBoxInactive">
  56. <span class="left">
  57. <img id="MSearchSelect" src="search/mag_sel.png"
  58. onmouseover="return searchBox.OnSearchSelectShow()"
  59. onmouseout="return searchBox.OnSearchSelectHide()"
  60. alt=""/>
  61. <input type="text" id="MSearchField" value="Search" accesskey="S"
  62. onfocus="searchBox.OnSearchFieldFocus(true)"
  63. onblur="searchBox.OnSearchFieldFocus(false)"
  64. onkeyup="searchBox.OnSearchFieldChange(event)"/>
  65. </span><span class="right">
  66. <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
  67. </span>
  68. </div>
  69. </li>
  70. </ul>
  71. </div>
  72. <div id="navrow2" class="tabs2">
  73. <ul class="tablist">
  74. <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
  75. <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
  76. <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
  77. <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
  78. </ul>
  79. </div>
  80. </div><!-- top -->
  81. <div id="side-nav" class="ui-resizable side-nav-resizable">
  82. <div id="nav-tree">
  83. <div id="nav-tree-contents">
  84. <div id="nav-sync" class="sync"></div>
  85. </div>
  86. </div>
  87. <div id="splitbar" style="-moz-user-select:none;"
  88. class="ui-resizable-handle">
  89. </div>
  90. </div>
  91. <script type="text/javascript">
  92. $(document).ready(function(){initNavTree('structfsdk_1_1_image.html','');});
  93. </script>
  94. <div id="doc-content">
  95. <!-- window showing the filter options -->
  96. <div id="MSearchSelectWindow"
  97. onmouseover="return searchBox.OnSearchSelectShow()"
  98. onmouseout="return searchBox.OnSearchSelectHide()"
  99. onkeydown="return searchBox.OnSearchSelectKey(event)">
  100. <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Pages</a></div>
  101. <!-- iframe showing the search results (closed by default) -->
  102. <div id="MSearchResultsWindow">
  103. <iframe src="javascript:void(0)" frameborder="0"
  104. name="MSearchResults" id="MSearchResults">
  105. </iframe>
  106. </div>
  107. <div class="header">
  108. <div class="summary">
  109. <a href="#pub-types">Public Types</a> &#124;
  110. <a href="#pub-methods">Public Member Functions</a> &#124;
  111. <a href="#pub-static-methods">Static Public Member Functions</a> &#124;
  112. <a href="#pro-methods">Protected Member Functions</a> &#124;
  113. <a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
  114. <a href="#pro-attribs">Protected Attributes</a> &#124;
  115. <a href="structfsdk_1_1_image-members.html">List of all members</a> </div>
  116. <div class="headertitle">
  117. <div class="title">fsdk::Image Struct Reference</div> </div>
  118. </div><!--header-->
  119. <div class="contents">
  120. <p><a class="el" href="structfsdk_1_1_image.html" title="Image. ">Image</a>.
  121. <a href="structfsdk_1_1_image.html#details">More...</a></p>
  122. <p><code>#include &lt;<a class="el" href="_image_8h_source.html">Image.h</a>&gt;</code></p>
  123. <table class="memberdecls">
  124. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
  125. Public Types</h2></td></tr>
  126. <tr class="memitem:ad7383fff1a8c54a0b2153ea475b607b7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#ad7383fff1a8c54a0b2153ea475b607b7">Type</a> : uint8_t { <br/>
  127. &#160;&#160;<b>BMP</b>,
  128. <b>JPG</b>,
  129. <b>PNG</b>,
  130. <b>PPM</b>,
  131. <br/>
  132. &#160;&#160;<b>TIFF</b>,
  133. <b>Unknown</b>
  134. <br/>
  135. }</td></tr>
  136. <tr class="memdesc:ad7383fff1a8c54a0b2153ea475b607b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Supported image types. <br/></td></tr>
  137. <tr class="separator:ad7383fff1a8c54a0b2153ea475b607b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  138. <tr class="memitem:a8a60bf4ecd1f111e034ff9a8478e62f4"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a8a60bf4ecd1f111e034ff9a8478e62f4">TargetDevice</a> { <b>CPU</b>,
  139. <b>GPU</b>,
  140. <b>NPU</b>
  141. }</td></tr>
  142. <tr class="memdesc:a8a60bf4ecd1f111e034ff9a8478e62f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Target device that <a class="el" href="structfsdk_1_1_image.html" title="Image. ">fsdk::Image</a> algorithms will be running on. <br/></td></tr>
  143. <tr class="separator:a8a60bf4ecd1f111e034ff9a8478e62f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  144. <tr class="memitem:acb272c751b60925b57a543cf19f31a5d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#acb272c751b60925b57a543cf19f31a5d">ImageCompression</a> { <br/>
  145. &#160;&#160;<a class="el" href="structfsdk_1_1_image.html#acb272c751b60925b57a543cf19f31a5dab75738e569f17ad386d0ff4cb90eabb9">ImageCompression::IC_NO_COMPRESSION</a>,
  146. <a class="el" href="structfsdk_1_1_image.html#acb272c751b60925b57a543cf19f31a5dae811dec1e75f575972a667e83a23bd34">ImageCompression::IC_SMALL_COMPRESSION</a>,
  147. <a class="el" href="structfsdk_1_1_image.html#acb272c751b60925b57a543cf19f31a5daf526f9c09cd1a065f528dc6518895615">ImageCompression::IC_MEDIUM_COMPRESSION</a>,
  148. <a class="el" href="structfsdk_1_1_image.html#acb272c751b60925b57a543cf19f31a5da60cdeb7647e393444a05d358810293f5">ImageCompression::IC_HARD_COMPRESSION</a>,
  149. <br/>
  150. &#160;&#160;<a class="el" href="structfsdk_1_1_image.html#acb272c751b60925b57a543cf19f31a5daccd72f086a3257b06c12b790a683f2d6">ImageCompression::IC_BEST_COMPRESSION</a>
  151. <br/>
  152. }</td></tr>
  153. <tr class="memdesc:acb272c751b60925b57a543cf19f31a5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Supported compression type is used only for jpg and png types. <a href="structfsdk_1_1_image.html#acb272c751b60925b57a543cf19f31a5d">More...</a><br/></td></tr>
  154. <tr class="separator:acb272c751b60925b57a543cf19f31a5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  155. <tr class="memitem:a7929a4eb6155bd9430dac56142672936"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a> : uint32_t { <br/>
  156. &#160;&#160;<a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936aa60852f204ed8028c1c58808b746d115">Error::Ok</a>,
  157. <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936a6518a24cb2d8166f5c57016e65e3f419">Error::InvalidWidth</a>,
  158. <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936aaff424fc1ea568827830b838a80cd934">Error::InvalidHeight</a>,
  159. <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936a588c80ae8885b51a5f0700894da5affe">Error::InvalidDataPtr</a>,
  160. <br/>
  161. &#160;&#160;<a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936a0a86fcdcc2094e925e3166b9710f8d82">Error::InvalidDataSize</a>,
  162. <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936a107a93f5ad9b48f874341eaa0141e0f9">Error::InvalidImage</a>,
  163. <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936a538273d971a3da3f944bfb95091df5d8">Error::InvalidArchive</a>,
  164. <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936a5d0744802b24f44a161d350c25d76c7b">Error::InvalidPath</a>,
  165. <br/>
  166. &#160;&#160;<a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936ac85f85f7c13ed006eed130ec183aa810">Error::InvalidType</a>,
  167. <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936ade236a235b4e8ffc9141676624753b2d">Error::InvalidFormat</a>,
  168. <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936abcdbc5068527815bd978d3cbba5e7deb">Error::InvalidBitmap</a>,
  169. <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936a83fe3c82514cc399b416bbb9d25ac9a9">Error::InvalidMemory</a>,
  170. <br/>
  171. &#160;&#160;<a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936aaf9d45225e9d3edf59f2fd40d4b9f157">Error::InvalidConversion</a>,
  172. <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936a2a7695a194a2f785215c4ed058e2bf7b">Error::InvalidResidence</a>,
  173. <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936a3634e01cc1296daece9832c5396808c2">Error::InvalidDevice</a>,
  174. <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936a70fa83b68f2d20d1c607a2864627f13d">Error::FailedToSave</a>,
  175. <br/>
  176. &#160;&#160;<a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936a023fe093cb8dbc5a80d2a2259d4c97a5">Error::FailedToLoad</a>,
  177. <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936ade906b82a6f70f5f75ea0a11da932a36">Error::FailedToInitialize</a>,
  178. <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936a014e56b039fd19b57e203c1fb371f5ce">Error::ReleasedInOtherThread</a>
  179. <br/>
  180. }</td></tr>
  181. <tr class="memdesc:a7929a4eb6155bd9430dac56142672936"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structfsdk_1_1_image.html" title="Image. ">Image</a> error codes. <a href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">More...</a><br/></td></tr>
  182. <tr class="separator:a7929a4eb6155bd9430dac56142672936"><td class="memSeparator" colspan="2">&#160;</td></tr>
  183. <tr class="memitem:abe735660a541cb213facb543b93f4e07"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07">MemoryResidence</a> : uint32_t { <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993">MemoryResidence::MemoryCPU</a>,
  184. <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07af9b0ab7ae4fae4c4b922abbce4b9bebf">MemoryResidence::MemoryGPU</a>,
  185. <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a40657ac0e763be1c1a745957006c3555">MemoryResidence::MemoryNPU</a>,
  186. <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a1359bce90afb193bac4435d19c8864dd">MemoryResidence::MemoryNPU_DPP</a>
  187. }</td></tr>
  188. <tr class="memdesc:abe735660a541cb213facb543b93f4e07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory residence. <a href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07">More...</a><br/></td></tr>
  189. <tr class="separator:abe735660a541cb213facb543b93f4e07"><td class="memSeparator" colspan="2">&#160;</td></tr>
  190. </table><table class="memberdecls">
  191. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  192. Public Member Functions</h2></td></tr>
  193. <tr class="memitem:ad208540be1ae2fa9ca0ed192aee75182"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad208540be1ae2fa9ca0ed192aee75182"></a>
  194. <a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#ad208540be1ae2fa9ca0ed192aee75182">Image</a> () noexcept</td></tr>
  195. <tr class="memdesc:ad208540be1ae2fa9ca0ed192aee75182"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an empty image. <br/></td></tr>
  196. <tr class="separator:ad208540be1ae2fa9ca0ed192aee75182"><td class="memSeparator" colspan="2">&#160;</td></tr>
  197. <tr class="memitem:a624947f81acd14120076f42860e51611"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a624947f81acd14120076f42860e51611">Image</a> (int width, int height, <a class="el" href="structfsdk_1_1_format.html">Format</a> format, <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07">MemoryResidence</a> residence=<a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993">MemoryResidence::MemoryCPU</a>, int deviceId=0) noexcept</td></tr>
  198. <tr class="memdesc:a624947f81acd14120076f42860e51611"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an empty image and preallocates storage buffer of given size. <a href="#a624947f81acd14120076f42860e51611">More...</a><br/></td></tr>
  199. <tr class="separator:a624947f81acd14120076f42860e51611"><td class="memSeparator" colspan="2">&#160;</td></tr>
  200. <tr class="memitem:a348af5fca41e5b170c0487a055f6ebbb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a348af5fca41e5b170c0487a055f6ebbb">Image</a> (int width, int height, <a class="el" href="structfsdk_1_1_format.html">Format</a> format, const void *data, <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07">MemoryResidence</a> residence=<a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993">MemoryResidence::MemoryCPU</a>, int deviceId=0) noexcept</td></tr>
  201. <tr class="memdesc:a348af5fca41e5b170c0487a055f6ebbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an empty image and preallocates storage buffer of given size. Fills image contents with provided data. <a href="#a348af5fca41e5b170c0487a055f6ebbb">More...</a><br/></td></tr>
  202. <tr class="separator:a348af5fca41e5b170c0487a055f6ebbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
  203. <tr class="memitem:ac4d7421e28a9d81fed4de88dcc3fecf4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#ac4d7421e28a9d81fed4de88dcc3fecf4">Image</a> (int width, int height, <a class="el" href="structfsdk_1_1_format.html">Format</a> format, void *data, bool copy, <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07">MemoryResidence</a> residence=<a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993">MemoryResidence::MemoryCPU</a>, int deviceId=0) noexcept</td></tr>
  204. <tr class="memdesc:ac4d7421e28a9d81fed4de88dcc3fecf4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an image. If copy is true, this allocates a new buffer of given size and fills image contents with provided data (copies it). If copy is false (which is default) this will just reference the provided data. <a href="#ac4d7421e28a9d81fed4de88dcc3fecf4">More...</a><br/></td></tr>
  205. <tr class="separator:ac4d7421e28a9d81fed4de88dcc3fecf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  206. <tr class="memitem:a021abfa7a95a7d6a1e9f4edabf2043a2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a021abfa7a95a7d6a1e9f4edabf2043a2">Image</a> (const <a class="el" href="structfsdk_1_1_image.html">Image</a> &amp;other) noexcept</td></tr>
  207. <tr class="memdesc:a021abfa7a95a7d6a1e9f4edabf2043a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an image as a reference to an other image. <a href="#a021abfa7a95a7d6a1e9f4edabf2043a2">More...</a><br/></td></tr>
  208. <tr class="separator:a021abfa7a95a7d6a1e9f4edabf2043a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  209. <tr class="memitem:aac20796ff887ec564cee62c826374384"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#aac20796ff887ec564cee62c826374384">Image</a> (<a class="el" href="structfsdk_1_1_image.html">Image</a> &amp;&amp;other) noexcept</td></tr>
  210. <tr class="memdesc:aac20796ff887ec564cee62c826374384"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an image with contents of an other image. Source image is then invalidated. <a href="#aac20796ff887ec564cee62c826374384">More...</a><br/></td></tr>
  211. <tr class="separator:aac20796ff887ec564cee62c826374384"><td class="memSeparator" colspan="2">&#160;</td></tr>
  212. <tr class="memitem:a6c85de74e85305f06232bdfb49331e0e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a6c85de74e85305f06232bdfb49331e0e">Image</a> (const <a class="el" href="structfsdk_1_1_sub_image.html">SubImage</a> &amp;subImage) noexcept</td></tr>
  213. <tr class="memdesc:a6c85de74e85305f06232bdfb49331e0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an image with contents of a sub image. Since sub images do not handle data life time, image contents are always copied. <a href="#a6c85de74e85305f06232bdfb49331e0e">More...</a><br/></td></tr>
  214. <tr class="separator:a6c85de74e85305f06232bdfb49331e0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  215. <tr class="memitem:a1596737bcf2aea4a1c8fc336f6f1b182"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt; <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a1596737bcf2aea4a1c8fc336f6f1b182">create</a> (int width, int height, <a class="el" href="structfsdk_1_1_format.html">Format</a> format, bool cleanup=true, <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07">MemoryResidence</a> residence=<a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993">MemoryResidence::MemoryCPU</a>, int deviceId=0) noexcept</td></tr>
  216. <tr class="memdesc:a1596737bcf2aea4a1c8fc336f6f1b182"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an empty image and preallocates storage buffer of given size. <a href="#a1596737bcf2aea4a1c8fc336f6f1b182">More...</a><br/></td></tr>
  217. <tr class="separator:a1596737bcf2aea4a1c8fc336f6f1b182"><td class="memSeparator" colspan="2">&#160;</td></tr>
  218. <tr class="memitem:aafa5e102bd9b4ccda1f827f1a12499db"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt; <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#aafa5e102bd9b4ccda1f827f1a12499db">create</a> (int width, int height, <a class="el" href="structfsdk_1_1_format.html">Format</a> format, const void *data, <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07">MemoryResidence</a> residence=<a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993">MemoryResidence::MemoryCPU</a>, int deviceId=0) noexcept</td></tr>
  219. <tr class="memdesc:aafa5e102bd9b4ccda1f827f1a12499db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an empty image and preallocates storage buffer of given size. Fills image contents with provided data. <a href="#aafa5e102bd9b4ccda1f827f1a12499db">More...</a><br/></td></tr>
  220. <tr class="separator:aafa5e102bd9b4ccda1f827f1a12499db"><td class="memSeparator" colspan="2">&#160;</td></tr>
  221. <tr class="memitem:a99fd0c30cf7d2fd3c26ff6f1771a356b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt; <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a99fd0c30cf7d2fd3c26ff6f1771a356b">create</a> (int width, int height, <a class="el" href="structfsdk_1_1_format.html">Format</a> format, void *data, bool copy, <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07">MemoryResidence</a> residence=<a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993">MemoryResidence::MemoryCPU</a>, int deviceId=0) noexcept</td></tr>
  222. <tr class="memdesc:a99fd0c30cf7d2fd3c26ff6f1771a356b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an image. If copy is true, this allocates a new buffer of given size and fills image contents with provided data (copies it). If copy is false (which is default) this will just reference the provided data. <a href="#a99fd0c30cf7d2fd3c26ff6f1771a356b">More...</a><br/></td></tr>
  223. <tr class="separator:a99fd0c30cf7d2fd3c26ff6f1771a356b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  224. <tr class="memitem:aeb3e38807e56a77419a073eea1e6d2ec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt; <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#aeb3e38807e56a77419a073eea1e6d2ec">create</a> (const <a class="el" href="structfsdk_1_1_image.html">fsdk::Image</a> &amp;source, <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07">MemoryResidence</a> residence, int deviceId=0) noexcept</td></tr>
  225. <tr class="memdesc:aeb3e38807e56a77419a073eea1e6d2ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates image with given memory residence based on other image instance. If source image has another MemoryResidence or device id, all memory will be copied to the new residence. In the other case new instance will be just a reference for the source. <a href="#aeb3e38807e56a77419a073eea1e6d2ec">More...</a><br/></td></tr>
  226. <tr class="separator:aeb3e38807e56a77419a073eea1e6d2ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
  227. <tr class="memitem:ae43bcd728b9b3389a5d45e20dee1205d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt; <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#ae43bcd728b9b3389a5d45e20dee1205d">set</a> (int width, int height, <a class="el" href="structfsdk_1_1_format.html">Format</a> format, const void *data, <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07">MemoryResidence</a> residence=<a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993">MemoryResidence::MemoryCPU</a>, int deviceId=0) noexcept</td></tr>
  228. <tr class="memdesc:ae43bcd728b9b3389a5d45e20dee1205d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an image with provided data. If current image is not empty and it's size and format match the provided ones, no memory reallocation is performed. Otherwise image is re-created to match requirements. <a href="#ae43bcd728b9b3389a5d45e20dee1205d">More...</a><br/></td></tr>
  229. <tr class="separator:ae43bcd728b9b3389a5d45e20dee1205d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  230. <tr class="memitem:a85ddf384c606013f7c2aa2815eaeccf4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt; <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a85ddf384c606013f7c2aa2815eaeccf4">set</a> (int width, int height, <a class="el" href="structfsdk_1_1_format.html">Format</a> format, void *data, bool copy, <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07">MemoryResidence</a> residence=<a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993">MemoryResidence::MemoryCPU</a>, int deviceId=0) noexcept</td></tr>
  231. <tr class="memdesc:a85ddf384c606013f7c2aa2815eaeccf4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an image with provided data. If copy is true and if current image is not empty and it's size and format match the provided ones, no memory reallocation is performed. Otherwise image is re-created to match requirements. If copy is false (which is default) this will just reference the provided data. <a href="#a85ddf384c606013f7c2aa2815eaeccf4">More...</a><br/></td></tr>
  232. <tr class="separator:a85ddf384c606013f7c2aa2815eaeccf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  233. <tr class="memitem:af449e5eaada6b033205fec916c758aff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt; <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#af449e5eaada6b033205fec916c758aff">set</a> (const <a class="el" href="structfsdk_1_1_image.html">Image</a> &amp;other) noexcept</td></tr>
  234. <tr class="memdesc:af449e5eaada6b033205fec916c758aff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an image as a reference to an other image. <a href="#af449e5eaada6b033205fec916c758aff">More...</a><br/></td></tr>
  235. <tr class="separator:af449e5eaada6b033205fec916c758aff"><td class="memSeparator" colspan="2">&#160;</td></tr>
  236. <tr class="memitem:a62466dd45bd37cdd3c73bdeb7b268b20"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt; <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a62466dd45bd37cdd3c73bdeb7b268b20">set</a> (const <a class="el" href="structfsdk_1_1_sub_image.html">SubImage</a> &amp;subImage) noexcept</td></tr>
  237. <tr class="memdesc:a62466dd45bd37cdd3c73bdeb7b268b20"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an image with contents of a sub image. Since sub images do not handle data life time, image contents are always copied. <a href="#a62466dd45bd37cdd3c73bdeb7b268b20">More...</a><br/></td></tr>
  238. <tr class="separator:a62466dd45bd37cdd3c73bdeb7b268b20"><td class="memSeparator" colspan="2">&#160;</td></tr>
  239. <tr class="memitem:ae05f21724f71ad844532ec46310bd252"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_sub_image.html">SubImage</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#ae05f21724f71ad844532ec46310bd252">map</a> (int x, int y, int width, int height) const noexcept</td></tr>
  240. <tr class="memdesc:ae05f21724f71ad844532ec46310bd252"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map image contents to a given area. <a href="#ae05f21724f71ad844532ec46310bd252">More...</a><br/></td></tr>
  241. <tr class="separator:ae05f21724f71ad844532ec46310bd252"><td class="memSeparator" colspan="2">&#160;</td></tr>
  242. <tr class="memitem:ac085efbd15cc73fea521d9067d551d61"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structfsdk_1_1_sub_image.html">SubImage</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#ac085efbd15cc73fea521d9067d551d61">map</a> (const <a class="el" href="structfsdk_1_1_base_rect.html">Rect</a> &amp;rect) const noexcept</td></tr>
  243. <tr class="memdesc:ac085efbd15cc73fea521d9067d551d61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map image contents to a given area. <a href="#ac085efbd15cc73fea521d9067d551d61">More...</a><br/></td></tr>
  244. <tr class="separator:ac085efbd15cc73fea521d9067d551d61"><td class="memSeparator" colspan="2">&#160;</td></tr>
  245. <tr class="memitem:aa4c32526ccd387fb89500e766ae3ce7f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structfsdk_1_1_sub_image.html">SubImage</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#aa4c32526ccd387fb89500e766ae3ce7f">map</a> (const <a class="el" href="namespacefsdk.html#a77eb62991e30a65164c055b3e518defd">Size</a> &amp;size) const noexcept</td></tr>
  246. <tr class="memdesc:aa4c32526ccd387fb89500e766ae3ce7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map image contents to a given area. <a href="#aa4c32526ccd387fb89500e766ae3ce7f">More...</a><br/></td></tr>
  247. <tr class="separator:aa4c32526ccd387fb89500e766ae3ce7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  248. <tr class="memitem:a5e5e5885d7e3e85d8d07b2c5a84937c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structfsdk_1_1_sub_image.html">SubImage</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a5e5e5885d7e3e85d8d07b2c5a84937c5">map</a> (const <a class="el" href="namespacefsdk.html#abc92bf6fd92f16b2d9c8e78a85838bcd">Point2i</a> &amp;origin, const <a class="el" href="namespacefsdk.html#a77eb62991e30a65164c055b3e518defd">Size</a> &amp;size) const noexcept</td></tr>
  249. <tr class="memdesc:a5e5e5885d7e3e85d8d07b2c5a84937c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map image contents to a given area. <a href="#a5e5e5885d7e3e85d8d07b2c5a84937c5">More...</a><br/></td></tr>
  250. <tr class="separator:a5e5e5885d7e3e85d8d07b2c5a84937c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  251. <tr class="memitem:add9bb121cb86eb35e669b6321a267926"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_image.html">Image</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#add9bb121cb86eb35e669b6321a267926">extract</a> (int x, int y, int width, int height) const noexcept</td></tr>
  252. <tr class="memdesc:add9bb121cb86eb35e669b6321a267926"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extract a sub image of this image. The new image will have it's own reference count. <a href="#add9bb121cb86eb35e669b6321a267926">More...</a><br/></td></tr>
  253. <tr class="separator:add9bb121cb86eb35e669b6321a267926"><td class="memSeparator" colspan="2">&#160;</td></tr>
  254. <tr class="memitem:a3f9f9c61324959b028b645b0a873ae21"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structfsdk_1_1_image.html">Image</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a3f9f9c61324959b028b645b0a873ae21">extract</a> (const <a class="el" href="structfsdk_1_1_base_rect.html">Rect</a> &amp;rect) const noexcept</td></tr>
  255. <tr class="memdesc:a3f9f9c61324959b028b645b0a873ae21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extract a sub image of this image. The new image will have it's own reference count. <a href="#a3f9f9c61324959b028b645b0a873ae21">More...</a><br/></td></tr>
  256. <tr class="separator:a3f9f9c61324959b028b645b0a873ae21"><td class="memSeparator" colspan="2">&#160;</td></tr>
  257. <tr class="memitem:a4cd2e1c9c500087bcfb65f750cef09e4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structfsdk_1_1_image.html">Image</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a4cd2e1c9c500087bcfb65f750cef09e4">extract</a> (const <a class="el" href="namespacefsdk.html#a77eb62991e30a65164c055b3e518defd">Size</a> &amp;size) const noexcept</td></tr>
  258. <tr class="memdesc:a4cd2e1c9c500087bcfb65f750cef09e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extract a sub image of this image. The new image will have it's own reference count. <a href="#a4cd2e1c9c500087bcfb65f750cef09e4">More...</a><br/></td></tr>
  259. <tr class="separator:a4cd2e1c9c500087bcfb65f750cef09e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  260. <tr class="memitem:a01e37e8244745a1645c7f44356c98cfa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structfsdk_1_1_image.html">Image</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a01e37e8244745a1645c7f44356c98cfa">extract</a> (const <a class="el" href="namespacefsdk.html#abc92bf6fd92f16b2d9c8e78a85838bcd">Point2i</a> &amp;origin, const <a class="el" href="namespacefsdk.html#a77eb62991e30a65164c055b3e518defd">Size</a> &amp;size) const noexcept</td></tr>
  261. <tr class="memdesc:a01e37e8244745a1645c7f44356c98cfa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extract a sub image of this image. The new image will have it's own reference count. <a href="#a01e37e8244745a1645c7f44356c98cfa">More...</a><br/></td></tr>
  262. <tr class="separator:a01e37e8244745a1645c7f44356c98cfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
  263. <tr class="memitem:a523b0c28a4003c75c3907d0c93110493"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structfsdk_1_1_image.html">Image</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a523b0c28a4003c75c3907d0c93110493">clone</a> () const noexcept</td></tr>
  264. <tr class="memdesc:a523b0c28a4003c75c3907d0c93110493"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a copy of this image. The new image will have it's own reference count. <a href="#a523b0c28a4003c75c3907d0c93110493">More...</a><br/></td></tr>
  265. <tr class="separator:a523b0c28a4003c75c3907d0c93110493"><td class="memSeparator" colspan="2">&#160;</td></tr>
  266. <tr class="memitem:ab0c8024817b8e634f5ec18f1a0f08916"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt; <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Image::Error</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#ab0c8024817b8e634f5ec18f1a0f08916">convert</a> (<a class="el" href="structfsdk_1_1_image.html">Image</a> &amp;dest, int x, int y, int width, int height, <a class="el" href="structfsdk_1_1_format.html">Format</a> format, <a class="el" href="structfsdk_1_1_image.html#a8a60bf4ecd1f111e034ff9a8478e62f4">TargetDevice</a> device=TargetDevice::CPU) const noexcept</td></tr>
  267. <tr class="memdesc:ab0c8024817b8e634f5ec18f1a0f08916"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert image format. <a href="#ab0c8024817b8e634f5ec18f1a0f08916">More...</a><br/></td></tr>
  268. <tr class="separator:ab0c8024817b8e634f5ec18f1a0f08916"><td class="memSeparator" colspan="2">&#160;</td></tr>
  269. <tr class="memitem:a566dd9391571379fed5e1da2ed9975c8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structfsdk_1_1_result.html">Result</a>&lt; <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Image::Error</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a566dd9391571379fed5e1da2ed9975c8">convert</a> (<a class="el" href="structfsdk_1_1_image.html">Image</a> &amp;dest, const <a class="el" href="namespacefsdk.html#abc92bf6fd92f16b2d9c8e78a85838bcd">Point2i</a> &amp;origin, const <a class="el" href="namespacefsdk.html#a77eb62991e30a65164c055b3e518defd">Size</a> &amp;size, <a class="el" href="structfsdk_1_1_format.html">Format</a> format, <a class="el" href="structfsdk_1_1_image.html#a8a60bf4ecd1f111e034ff9a8478e62f4">TargetDevice</a> device=TargetDevice::CPU) const noexcept</td></tr>
  270. <tr class="memdesc:a566dd9391571379fed5e1da2ed9975c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert image format. <a href="#a566dd9391571379fed5e1da2ed9975c8">More...</a><br/></td></tr>
  271. <tr class="separator:a566dd9391571379fed5e1da2ed9975c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  272. <tr class="memitem:a3ddea03d5ee948a5c2d0aa81a4fe8027"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structfsdk_1_1_result.html">Result</a>&lt; <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Image::Error</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a3ddea03d5ee948a5c2d0aa81a4fe8027">convert</a> (<a class="el" href="structfsdk_1_1_image.html">Image</a> &amp;dest, const <a class="el" href="namespacefsdk.html#a77eb62991e30a65164c055b3e518defd">Size</a> &amp;size, <a class="el" href="structfsdk_1_1_format.html">Format</a> format, <a class="el" href="structfsdk_1_1_image.html#a8a60bf4ecd1f111e034ff9a8478e62f4">TargetDevice</a> device=TargetDevice::CPU) const noexcept</td></tr>
  273. <tr class="memdesc:a3ddea03d5ee948a5c2d0aa81a4fe8027"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert image format. <a href="#a3ddea03d5ee948a5c2d0aa81a4fe8027">More...</a><br/></td></tr>
  274. <tr class="separator:a3ddea03d5ee948a5c2d0aa81a4fe8027"><td class="memSeparator" colspan="2">&#160;</td></tr>
  275. <tr class="memitem:a9a8a6abf162c095d6f1e62919cf4dabf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structfsdk_1_1_result.html">Result</a>&lt; <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Image::Error</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a9a8a6abf162c095d6f1e62919cf4dabf">convert</a> (<a class="el" href="structfsdk_1_1_image.html">Image</a> &amp;dest, const <a class="el" href="structfsdk_1_1_base_rect.html">Rect</a> &amp;rect, <a class="el" href="structfsdk_1_1_format.html">Format</a> format, <a class="el" href="structfsdk_1_1_image.html#a8a60bf4ecd1f111e034ff9a8478e62f4">TargetDevice</a> device=TargetDevice::CPU) const noexcept</td></tr>
  276. <tr class="memdesc:a9a8a6abf162c095d6f1e62919cf4dabf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert image format. <a href="#a9a8a6abf162c095d6f1e62919cf4dabf">More...</a><br/></td></tr>
  277. <tr class="separator:a9a8a6abf162c095d6f1e62919cf4dabf"><td class="memSeparator" colspan="2">&#160;</td></tr>
  278. <tr class="memitem:a10e36f6ea8f5e293f7bd58658ecb1653"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structfsdk_1_1_result.html">Result</a>&lt; <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Image::Error</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a10e36f6ea8f5e293f7bd58658ecb1653">convert</a> (<a class="el" href="structfsdk_1_1_image.html">Image</a> &amp;dest, <a class="el" href="structfsdk_1_1_format.html">Format</a> format, <a class="el" href="structfsdk_1_1_image.html#a8a60bf4ecd1f111e034ff9a8478e62f4">TargetDevice</a> device=TargetDevice::CPU) const noexcept</td></tr>
  279. <tr class="memdesc:a10e36f6ea8f5e293f7bd58658ecb1653"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert image format. <a href="#a10e36f6ea8f5e293f7bd58658ecb1653">More...</a><br/></td></tr>
  280. <tr class="separator:a10e36f6ea8f5e293f7bd58658ecb1653"><td class="memSeparator" colspan="2">&#160;</td></tr>
  281. <tr class="memitem:a6ed2d1d79094102bed624f40f14f4acb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_image.html">Image</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a6ed2d1d79094102bed624f40f14f4acb">rescale</a> (float scale) const noexcept</td></tr>
  282. <tr class="memdesc:a6ed2d1d79094102bed624f40f14f4acb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rescale image keeping proportions. <a href="#a6ed2d1d79094102bed624f40f14f4acb">More...</a><br/></td></tr>
  283. <tr class="separator:a6ed2d1d79094102bed624f40f14f4acb"><td class="memSeparator" colspan="2">&#160;</td></tr>
  284. <tr class="memitem:ae3bd0f9b7e1dd8871e7110d566c0eb3b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt; <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Image::Error</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#ae3bd0f9b7e1dd8871e7110d566c0eb3b">save</a> (const char *path, <a class="el" href="structfsdk_1_1_image.html#acb272c751b60925b57a543cf19f31a5d">fsdk::Image::ImageCompression</a> additionalFlag=<a class="el" href="structfsdk_1_1_image.html#acb272c751b60925b57a543cf19f31a5dab75738e569f17ad386d0ff4cb90eabb9">fsdk::Image::ImageCompression::IC_NO_COMPRESSION</a>) const noexcept</td></tr>
  285. <tr class="memdesc:ae3bd0f9b7e1dd8871e7110d566c0eb3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Save image. <a href="#ae3bd0f9b7e1dd8871e7110d566c0eb3b">More...</a><br/></td></tr>
  286. <tr class="separator:ae3bd0f9b7e1dd8871e7110d566c0eb3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  287. <tr class="memitem:a9551bec72e3e4798bce2ddd116b53f6e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt; <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a9551bec72e3e4798bce2ddd116b53f6e">save</a> (const char *path, const <a class="el" href="structfsdk_1_1_format.html">Format</a> format) const noexcept</td></tr>
  288. <tr class="memdesc:a9551bec72e3e4798bce2ddd116b53f6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert and Save image. <a href="#a9551bec72e3e4798bce2ddd116b53f6e">More...</a><br/></td></tr>
  289. <tr class="separator:a9551bec72e3e4798bce2ddd116b53f6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  290. <tr class="memitem:a394ec678da307c9f6f73b673567bc9ae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt; <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Image::Error</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a394ec678da307c9f6f73b673567bc9ae">saveToMemory</a> (<a class="el" href="structfsdk_1_1_image.html#ad7383fff1a8c54a0b2153ea475b607b7">Image::Type</a> type, <a class="el" href="structfsdk_1_1_i_archive.html">IArchive</a> *archive, <a class="el" href="structfsdk_1_1_image.html#acb272c751b60925b57a543cf19f31a5d">fsdk::Image::ImageCompression</a> additionalFlag=<a class="el" href="structfsdk_1_1_image.html#acb272c751b60925b57a543cf19f31a5dab75738e569f17ad386d0ff4cb90eabb9">fsdk::Image::ImageCompression::IC_NO_COMPRESSION</a>) const noexcept</td></tr>
  291. <tr class="memdesc:a394ec678da307c9f6f73b673567bc9ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Save image to memory buffer. <a href="#a394ec678da307c9f6f73b673567bc9ae">More...</a><br/></td></tr>
  292. <tr class="separator:a394ec678da307c9f6f73b673567bc9ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
  293. <tr class="memitem:a4031cca84864d83a5361968eaec0809e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt; <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Image::Error</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a4031cca84864d83a5361968eaec0809e">saveToMemory</a> (<a class="el" href="structfsdk_1_1_image.html#ad7383fff1a8c54a0b2153ea475b607b7">Image::Type</a> type, <a class="el" href="structfsdk_1_1_i_archive.html">IArchive</a> *archive, const <a class="el" href="structfsdk_1_1_format.html">Format</a> format) const noexcept</td></tr>
  294. <tr class="memdesc:a4031cca84864d83a5361968eaec0809e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert and save image to memory buffer. <a href="#a4031cca84864d83a5361968eaec0809e">More...</a><br/></td></tr>
  295. <tr class="separator:a4031cca84864d83a5361968eaec0809e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  296. <tr class="memitem:a8f17c7659871533d5eed712b3967944b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt; <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a8f17c7659871533d5eed712b3967944b">load</a> (const char *path) noexcept</td></tr>
  297. <tr class="memdesc:a8f17c7659871533d5eed712b3967944b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load image from file. <a href="#a8f17c7659871533d5eed712b3967944b">More...</a><br/></td></tr>
  298. <tr class="separator:a8f17c7659871533d5eed712b3967944b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  299. <tr class="memitem:a50d05981de264e977f4fbd90990f084a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt; <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a50d05981de264e977f4fbd90990f084a">load</a> (const char *path, const <a class="el" href="structfsdk_1_1_format.html">Format</a> format) noexcept</td></tr>
  300. <tr class="memdesc:a50d05981de264e977f4fbd90990f084a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load image from file and convert it to required format. <a href="#a50d05981de264e977f4fbd90990f084a">More...</a><br/></td></tr>
  301. <tr class="separator:a50d05981de264e977f4fbd90990f084a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  302. <tr class="memitem:a824376f7ac69c83fc8026cf38a235806"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt; <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a824376f7ac69c83fc8026cf38a235806">loadFromMemory</a> (const void *data, const uint32_t sizeInBytes) noexcept</td></tr>
  303. <tr class="memdesc:a824376f7ac69c83fc8026cf38a235806"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load image from memory. <a href="#a824376f7ac69c83fc8026cf38a235806">More...</a><br/></td></tr>
  304. <tr class="separator:a824376f7ac69c83fc8026cf38a235806"><td class="memSeparator" colspan="2">&#160;</td></tr>
  305. <tr class="memitem:a27b9eae4a7a4bf22182bb98debf8c45d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt; <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a27b9eae4a7a4bf22182bb98debf8c45d">loadFromMemory</a> (const void *data, const uint32_t sizeInBytes, const <a class="el" href="structfsdk_1_1_format.html">Format</a> format) noexcept</td></tr>
  306. <tr class="memdesc:a27b9eae4a7a4bf22182bb98debf8c45d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load image from memory and convert it to required format. <a href="#a27b9eae4a7a4bf22182bb98debf8c45d">More...</a><br/></td></tr>
  307. <tr class="separator:a27b9eae4a7a4bf22182bb98debf8c45d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  308. <tr class="memitem:a7d560518bf9a96c0fc8795edb4374a31"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt; <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a7d560518bf9a96c0fc8795edb4374a31">loadFromMemoryOfType</a> (const void *data, const uint32_t sizeInBytes, const <a class="el" href="structfsdk_1_1_image.html#ad7383fff1a8c54a0b2153ea475b607b7">Type</a> type) noexcept</td></tr>
  309. <tr class="memdesc:a7d560518bf9a96c0fc8795edb4374a31"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load image from memory of specific type. <a href="#a7d560518bf9a96c0fc8795edb4374a31">More...</a><br/></td></tr>
  310. <tr class="separator:a7d560518bf9a96c0fc8795edb4374a31"><td class="memSeparator" colspan="2">&#160;</td></tr>
  311. <tr class="memitem:ae7015b5e7e8c21af7fb23a93a1235301"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt; <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#ae7015b5e7e8c21af7fb23a93a1235301">loadFromMemoryOfType</a> (const void *data, const uint32_t sizeInBytes, const <a class="el" href="structfsdk_1_1_image.html#ad7383fff1a8c54a0b2153ea475b607b7">Type</a> type, const <a class="el" href="structfsdk_1_1_format.html">Format</a> format) noexcept</td></tr>
  312. <tr class="memdesc:ae7015b5e7e8c21af7fb23a93a1235301"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load image from memory of specific type and convert it to required format. <a href="#ae7015b5e7e8c21af7fb23a93a1235301">More...</a><br/></td></tr>
  313. <tr class="separator:ae7015b5e7e8c21af7fb23a93a1235301"><td class="memSeparator" colspan="2">&#160;</td></tr>
  314. <tr class="memitem:a6e64bb21715b54c2b208c370d4c6bb2d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structfsdk_1_1_image.html">Image</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a6e64bb21715b54c2b208c370d4c6bb2d">operator=</a> (const <a class="el" href="structfsdk_1_1_image.html">Image</a> &amp;other) noexcept</td></tr>
  315. <tr class="memdesc:a6e64bb21715b54c2b208c370d4c6bb2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign other image. <a href="#a6e64bb21715b54c2b208c370d4c6bb2d">More...</a><br/></td></tr>
  316. <tr class="separator:a6e64bb21715b54c2b208c370d4c6bb2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  317. <tr class="memitem:acbc748fe0bdd194deb00b26e06a51ed9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structfsdk_1_1_image.html">Image</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#acbc748fe0bdd194deb00b26e06a51ed9">operator=</a> (<a class="el" href="structfsdk_1_1_image.html">Image</a> &amp;&amp;other) noexcept</td></tr>
  318. <tr class="memdesc:acbc748fe0bdd194deb00b26e06a51ed9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move other image. <a href="#acbc748fe0bdd194deb00b26e06a51ed9">More...</a><br/></td></tr>
  319. <tr class="separator:acbc748fe0bdd194deb00b26e06a51ed9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  320. <tr class="memitem:a935733a13b5a2d62758f63a0fa2580e9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a935733a13b5a2d62758f63a0fa2580e9">isNull</a> () const noexcept</td></tr>
  321. <tr class="separator:a935733a13b5a2d62758f63a0fa2580e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  322. <tr class="memitem:a42bb8bc044a084b7779760c20701fa0d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a42bb8bc044a084b7779760c20701fa0d">isValid</a> () const noexcept</td></tr>
  323. <tr class="separator:a42bb8bc044a084b7779760c20701fa0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  324. <tr class="memitem:a94659c183621f3be301832e3673936c6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a94659c183621f3be301832e3673936c6">operator bool</a> () const noexcept</td></tr>
  325. <tr class="memdesc:a94659c183621f3be301832e3673936c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implicit cast to boolean; results in true if image is valid, false if not. <a href="#a94659c183621f3be301832e3673936c6">More...</a><br/></td></tr>
  326. <tr class="separator:a94659c183621f3be301832e3673936c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  327. <tr class="memitem:a81b837c8ebacc00461ced25cc6299176"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a81b837c8ebacc00461ced25cc6299176">getScanLine</a> (int y) noexcept</td></tr>
  328. <tr class="memdesc:a81b837c8ebacc00461ced25cc6299176"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get image scanline data. <a href="#a81b837c8ebacc00461ced25cc6299176">More...</a><br/></td></tr>
  329. <tr class="separator:a81b837c8ebacc00461ced25cc6299176"><td class="memSeparator" colspan="2">&#160;</td></tr>
  330. <tr class="memitem:aaf7e663816bd542c1f80d42e29c22014"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> const void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#aaf7e663816bd542c1f80d42e29c22014">getScanLine</a> (int y) const noexcept</td></tr>
  331. <tr class="memdesc:aaf7e663816bd542c1f80d42e29c22014"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get image scanline data. <a href="#aaf7e663816bd542c1f80d42e29c22014">More...</a><br/></td></tr>
  332. <tr class="separator:aaf7e663816bd542c1f80d42e29c22014"><td class="memSeparator" colspan="2">&#160;</td></tr>
  333. <tr class="memitem:ad7702083887209a2c4e188b500215e96"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#ad7702083887209a2c4e188b500215e96">getDataSize</a> () const noexcept</td></tr>
  334. <tr class="separator:ad7702083887209a2c4e188b500215e96"><td class="memSeparator" colspan="2">&#160;</td></tr>
  335. <tr class="memitem:a494e5a70e35f8a9965c9c655faf71694"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a494e5a70e35f8a9965c9c655faf71694">getDataSize</a> (<a class="el" href="structfsdk_1_1_sizer.html">Sizer</a> &amp;sizer) const noexcept</td></tr>
  336. <tr class="memdesc:a494e5a70e35f8a9965c9c655faf71694"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get actual image size in bytes. <a href="#a494e5a70e35f8a9965c9c655faf71694">More...</a><br/></td></tr>
  337. <tr class="separator:a494e5a70e35f8a9965c9c655faf71694"><td class="memSeparator" colspan="2">&#160;</td></tr>
  338. <tr class="memitem:afb6c77133c3cbe2f5f7825286096ec46"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
  339. <tr class="memitem:afb6c77133c3cbe2f5f7825286096ec46"><td class="memTemplItemLeft" align="right" valign="top">T *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#afb6c77133c3cbe2f5f7825286096ec46">getScanLineAs</a> (int y) noexcept</td></tr>
  340. <tr class="memdesc:afb6c77133c3cbe2f5f7825286096ec46"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get image scanline data. <a href="#afb6c77133c3cbe2f5f7825286096ec46">More...</a><br/></td></tr>
  341. <tr class="separator:afb6c77133c3cbe2f5f7825286096ec46"><td class="memSeparator" colspan="2">&#160;</td></tr>
  342. <tr class="memitem:adb2d3b84e0b3c81a8f1528e884fa655a"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
  343. <tr class="memitem:adb2d3b84e0b3c81a8f1528e884fa655a"><td class="memTemplItemLeft" align="right" valign="top">const T *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#adb2d3b84e0b3c81a8f1528e884fa655a">getScanLineAs</a> (int y) const noexcept</td></tr>
  344. <tr class="memdesc:adb2d3b84e0b3c81a8f1528e884fa655a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get image scanline data. <a href="#adb2d3b84e0b3c81a8f1528e884fa655a">More...</a><br/></td></tr>
  345. <tr class="separator:adb2d3b84e0b3c81a8f1528e884fa655a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  346. <tr class="memitem:a177197485010936725923806ed693187"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a177197485010936725923806ed693187">getData</a> () noexcept</td></tr>
  347. <tr class="separator:a177197485010936725923806ed693187"><td class="memSeparator" colspan="2">&#160;</td></tr>
  348. <tr class="memitem:adb87ac4315e08d3474b87dd1819748d5"><td class="memItemLeft" align="right" valign="top">const void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#adb87ac4315e08d3474b87dd1819748d5">getData</a> () const noexcept</td></tr>
  349. <tr class="separator:adb87ac4315e08d3474b87dd1819748d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  350. <tr class="memitem:ab0f6a417fa00693acfc22af05fdaddaf"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
  351. <tr class="memitem:ab0f6a417fa00693acfc22af05fdaddaf"><td class="memTemplItemLeft" align="right" valign="top">T *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#ab0f6a417fa00693acfc22af05fdaddaf">getDataAs</a> () noexcept</td></tr>
  352. <tr class="separator:ab0f6a417fa00693acfc22af05fdaddaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
  353. <tr class="memitem:a2ffa58c82ae839a8804721def179ccb6"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
  354. <tr class="memitem:a2ffa58c82ae839a8804721def179ccb6"><td class="memTemplItemLeft" align="right" valign="top">const T *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a2ffa58c82ae839a8804721def179ccb6">getDataAs</a> () const noexcept</td></tr>
  355. <tr class="separator:a2ffa58c82ae839a8804721def179ccb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  356. <tr class="memitem:a02d33587be44369699ff0c77bf918f7e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a02d33587be44369699ff0c77bf918f7e">getRowSize</a> () const noexcept</td></tr>
  357. <tr class="separator:a02d33587be44369699ff0c77bf918f7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  358. <tr class="memitem:a6cb445da4dc6f7949c992f6bdcd6787f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a6cb445da4dc6f7949c992f6bdcd6787f">getWidth</a> () const noexcept</td></tr>
  359. <tr class="separator:a6cb445da4dc6f7949c992f6bdcd6787f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  360. <tr class="memitem:ad5823d56f2b75a94424adef45c9d23c2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#ad5823d56f2b75a94424adef45c9d23c2">getHeight</a> () const noexcept</td></tr>
  361. <tr class="separator:ad5823d56f2b75a94424adef45c9d23c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  362. <tr class="memitem:a28a2f942184d21b0e4270c30adef7916"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a28a2f942184d21b0e4270c30adef7916">getAspectRatio</a> () const noexcept</td></tr>
  363. <tr class="separator:a28a2f942184d21b0e4270c30adef7916"><td class="memSeparator" colspan="2">&#160;</td></tr>
  364. <tr class="memitem:a3a096c49b65cb9b3ddc864a1fe0bbc5f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structfsdk_1_1_format.html">Format</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a3a096c49b65cb9b3ddc864a1fe0bbc5f">getFormat</a> () const noexcept</td></tr>
  365. <tr class="separator:a3a096c49b65cb9b3ddc864a1fe0bbc5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  366. <tr class="memitem:a7df80646fa1526cfdb4d767a84acf6a0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7df80646fa1526cfdb4d767a84acf6a0"></a>
  367. <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07">MemoryResidence</a>&#160;</td><td class="memItemRight" valign="bottom"><b>getMemoryResidence</b> () const noexcept</td></tr>
  368. <tr class="separator:a7df80646fa1526cfdb4d767a84acf6a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
  369. <tr class="memitem:a265dd8891566653b2bc83fc6de58f568"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a265dd8891566653b2bc83fc6de58f568"></a>
  370. int&#160;</td><td class="memItemRight" valign="bottom"><b>getDeviceId</b> () const noexcept</td></tr>
  371. <tr class="separator:a265dd8891566653b2bc83fc6de58f568"><td class="memSeparator" colspan="2">&#160;</td></tr>
  372. <tr class="memitem:ac38de3f8f7136d3011bc49b399efcd5a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacefsdk.html#a77eb62991e30a65164c055b3e518defd">Size</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#ac38de3f8f7136d3011bc49b399efcd5a">getSize</a> () const noexcept</td></tr>
  373. <tr class="separator:ac38de3f8f7136d3011bc49b399efcd5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  374. <tr class="memitem:a5841db4b37f8e3f633f9ee31e29e28b6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structfsdk_1_1_base_rect.html">Rect</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a5841db4b37f8e3f633f9ee31e29e28b6">getRect</a> () const noexcept</td></tr>
  375. <tr class="separator:a5841db4b37f8e3f633f9ee31e29e28b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  376. <tr class="memitem:adf5ed625bd338c55677dee58043de494"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#adf5ed625bd338c55677dee58043de494">ownsData</a> () const noexcept</td></tr>
  377. <tr class="separator:adf5ed625bd338c55677dee58043de494"><td class="memSeparator" colspan="2">&#160;</td></tr>
  378. <tr class="memitem:a33771e3d4141977d08be1302020ff6cd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a33771e3d4141977d08be1302020ff6cd">isSharedWith</a> (const <a class="el" href="structfsdk_1_1_image.html">Image</a> &amp;other) const noexcept</td></tr>
  379. <tr class="separator:a33771e3d4141977d08be1302020ff6cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
  380. <tr class="memitem:a6cc848e22d99f4d2d8b34d240c0bba47"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a6cc848e22d99f4d2d8b34d240c0bba47">swap</a> (<a class="el" href="structfsdk_1_1_image.html">Image</a> &amp;other) noexcept</td></tr>
  381. <tr class="memdesc:a6cc848e22d99f4d2d8b34d240c0bba47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap contents with another image. <a href="#a6cc848e22d99f4d2d8b34d240c0bba47">More...</a><br/></td></tr>
  382. <tr class="separator:a6cc848e22d99f4d2d8b34d240c0bba47"><td class="memSeparator" colspan="2">&#160;</td></tr>
  383. <tr class="memitem:aae4044994b8cebfdd3f94e13606b9b07"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aae4044994b8cebfdd3f94e13606b9b07"></a>
  384. void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#aae4044994b8cebfdd3f94e13606b9b07">reset</a> () noexcept</td></tr>
  385. <tr class="memdesc:aae4044994b8cebfdd3f94e13606b9b07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset image contents. <br/></td></tr>
  386. <tr class="separator:aae4044994b8cebfdd3f94e13606b9b07"><td class="memSeparator" colspan="2">&#160;</td></tr>
  387. <tr class="memitem:a386e2313d25f5f3107e1a47a347e04d8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a386e2313d25f5f3107e1a47a347e04d8"></a>
  388. bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a386e2313d25f5f3107e1a47a347e04d8">equalWeak</a> (const <a class="el" href="structfsdk_1_1_image.html">fsdk::Image</a> &amp;other) noexcept</td></tr>
  389. <tr class="memdesc:a386e2313d25f5f3107e1a47a347e04d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs weak comparison of this image with other. Weak in this context means only image parameters should be equal i.e width, height, format and residence. Actual data pointer of two images might differ. <br/></td></tr>
  390. <tr class="separator:a386e2313d25f5f3107e1a47a347e04d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  391. <tr class="memitem:a22f36f59a67cc867a96686dcf18b8f6d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a22f36f59a67cc867a96686dcf18b8f6d">equalStrong</a> (const <a class="el" href="structfsdk_1_1_image.html">fsdk::Image</a> &amp;other) noexcept</td></tr>
  392. <tr class="memdesc:a22f36f59a67cc867a96686dcf18b8f6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs strong comparison of this image with other. Beside weak comparison strong comparison also checks whether two images point to the same block of pixels. <a href="#a22f36f59a67cc867a96686dcf18b8f6d">More...</a><br/></td></tr>
  393. <tr class="separator:a22f36f59a67cc867a96686dcf18b8f6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  394. <tr class="memitem:a8bce66953fc250acf5c729d5168d6310"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8bce66953fc250acf5c729d5168d6310"></a>
  395. <a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> void&#160;</td><td class="memItemRight" valign="bottom"><b>putPixel</b> (uint32_t x, uint32_t y) noexcept</td></tr>
  396. <tr class="separator:a8bce66953fc250acf5c729d5168d6310"><td class="memSeparator" colspan="2">&#160;</td></tr>
  397. </table><table class="memberdecls">
  398. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
  399. Static Public Member Functions</h2></td></tr>
  400. <tr class="memitem:a9f2d12403ad91ca275de2259da560d05"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt; <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a9f2d12403ad91ca275de2259da560d05">guessTypeFromMemory</a> (const void *data, const uint32_t sizeInBytes, <a class="el" href="structfsdk_1_1_image.html#ad7383fff1a8c54a0b2153ea475b607b7">Type</a> &amp;type) noexcept</td></tr>
  401. <tr class="memdesc:a9f2d12403ad91ca275de2259da560d05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Guess type of image written into memory. <a href="#a9f2d12403ad91ca275de2259da560d05">More...</a><br/></td></tr>
  402. <tr class="separator:a9f2d12403ad91ca275de2259da560d05"><td class="memSeparator" colspan="2">&#160;</td></tr>
  403. </table><table class="memberdecls">
  404. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
  405. Protected Member Functions</h2></td></tr>
  406. <tr class="memitem:aadc0669fe4f2632fb259d2cba1a06738"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#aadc0669fe4f2632fb259d2cba1a06738">retain</a> () noexcept</td></tr>
  407. <tr class="memdesc:aadc0669fe4f2632fb259d2cba1a06738"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increase reference count. <a href="#aadc0669fe4f2632fb259d2cba1a06738">More...</a><br/></td></tr>
  408. <tr class="separator:aadc0669fe4f2632fb259d2cba1a06738"><td class="memSeparator" colspan="2">&#160;</td></tr>
  409. <tr class="memitem:a32f3e84a17a9e47a516d2f9cef50c040"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a32f3e84a17a9e47a516d2f9cef50c040">release</a> () noexcept</td></tr>
  410. <tr class="memdesc:a32f3e84a17a9e47a516d2f9cef50c040"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrease reference count. <a href="#a32f3e84a17a9e47a516d2f9cef50c040">More...</a><br/></td></tr>
  411. <tr class="separator:a32f3e84a17a9e47a516d2f9cef50c040"><td class="memSeparator" colspan="2">&#160;</td></tr>
  412. <tr class="memitem:a48773dce5d77377aa6415084ff2a612f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a48773dce5d77377aa6415084ff2a612f">getRefCount</a> () const noexcept</td></tr>
  413. <tr class="memdesc:a48773dce5d77377aa6415084ff2a612f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Obtain reference count. <a href="#a48773dce5d77377aa6415084ff2a612f">More...</a><br/></td></tr>
  414. <tr class="separator:a48773dce5d77377aa6415084ff2a612f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  415. </table><table class="memberdecls">
  416. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
  417. Static Protected Member Functions</h2></td></tr>
  418. <tr class="memitem:aef4ba8f782d69628ffaffc4da6ed970f"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#aef4ba8f782d69628ffaffc4da6ed970f">allocate</a> (int size) noexcept</td></tr>
  419. <tr class="memdesc:aef4ba8f782d69628ffaffc4da6ed970f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate memory. <a href="#aef4ba8f782d69628ffaffc4da6ed970f">More...</a><br/></td></tr>
  420. <tr class="separator:aef4ba8f782d69628ffaffc4da6ed970f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  421. <tr class="memitem:a750cb313b381b4245a1e51e34b18ae44"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a750cb313b381b4245a1e51e34b18ae44">deallocate</a> (void *memory) noexcept</td></tr>
  422. <tr class="memdesc:a750cb313b381b4245a1e51e34b18ae44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free memory. <a href="#a750cb313b381b4245a1e51e34b18ae44">More...</a><br/></td></tr>
  423. <tr class="separator:a750cb313b381b4245a1e51e34b18ae44"><td class="memSeparator" colspan="2">&#160;</td></tr>
  424. </table><table class="memberdecls">
  425. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
  426. Protected Attributes</h2></td></tr>
  427. <tr class="memitem:a378b11d6fc5fe3baa1f2e1a6fc0c7e68"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a378b11d6fc5fe3baa1f2e1a6fc0c7e68"></a>
  428. void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a378b11d6fc5fe3baa1f2e1a6fc0c7e68">m_data</a></td></tr>
  429. <tr class="memdesc:a378b11d6fc5fe3baa1f2e1a6fc0c7e68"><td class="mdescLeft">&#160;</td><td class="mdescRight">raw image data. <br/></td></tr>
  430. <tr class="separator:a378b11d6fc5fe3baa1f2e1a6fc0c7e68"><td class="memSeparator" colspan="2">&#160;</td></tr>
  431. <tr class="memitem:a4309931e1a59c9b88469a5633df36769"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4309931e1a59c9b88469a5633df36769"></a>
  432. int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a4309931e1a59c9b88469a5633df36769">m_ref</a></td></tr>
  433. <tr class="memdesc:a4309931e1a59c9b88469a5633df36769"><td class="mdescLeft">&#160;</td><td class="mdescRight">reference counter. nullptr if image does not own data. <br/></td></tr>
  434. <tr class="separator:a4309931e1a59c9b88469a5633df36769"><td class="memSeparator" colspan="2">&#160;</td></tr>
  435. <tr class="memitem:aa4dee2d753540eb26aac388ed8d94ce9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4dee2d753540eb26aac388ed8d94ce9"></a>
  436. int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#aa4dee2d753540eb26aac388ed8d94ce9">m_height</a></td></tr>
  437. <tr class="memdesc:aa4dee2d753540eb26aac388ed8d94ce9"><td class="mdescLeft">&#160;</td><td class="mdescRight">image height. <br/></td></tr>
  438. <tr class="separator:aa4dee2d753540eb26aac388ed8d94ce9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  439. <tr class="memitem:a32c6a6ef3700e9babb0943ce4aac6155"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a32c6a6ef3700e9babb0943ce4aac6155"></a>
  440. int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a32c6a6ef3700e9babb0943ce4aac6155">m_width</a></td></tr>
  441. <tr class="memdesc:a32c6a6ef3700e9babb0943ce4aac6155"><td class="mdescLeft">&#160;</td><td class="mdescRight">image width. <br/></td></tr>
  442. <tr class="separator:a32c6a6ef3700e9babb0943ce4aac6155"><td class="memSeparator" colspan="2">&#160;</td></tr>
  443. <tr class="memitem:a8435a72e723aa1b3c818867457276c9a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8435a72e723aa1b3c818867457276c9a"></a>
  444. int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#a8435a72e723aa1b3c818867457276c9a">m_deviceId</a></td></tr>
  445. <tr class="memdesc:a8435a72e723aa1b3c818867457276c9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">id of the device where image memory is allocated <br/></td></tr>
  446. <tr class="separator:a8435a72e723aa1b3c818867457276c9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  447. <tr class="memitem:aefe4793bcc5d38d828d5ead04cb4f75e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structfsdk_1_1_format.html">Format</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfsdk_1_1_image.html#aefe4793bcc5d38d828d5ead04cb4f75e">m_format</a></td></tr>
  448. <tr class="memdesc:aefe4793bcc5d38d828d5ead04cb4f75e"><td class="mdescLeft">&#160;</td><td class="mdescRight">image format ( <a href="#aefe4793bcc5d38d828d5ead04cb4f75e">More...</a><br/></td></tr>
  449. <tr class="separator:aefe4793bcc5d38d828d5ead04cb4f75e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  450. <tr class="memitem:a39ddccc55b57eb96c8140cd6e869aab4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a39ddccc55b57eb96c8140cd6e869aab4"></a>
  451. <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07">MemoryResidence</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_residence</b></td></tr>
  452. <tr class="separator:a39ddccc55b57eb96c8140cd6e869aab4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  453. </table>
  454. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  455. <div class="textblock"><p><a class="el" href="structfsdk_1_1_image.html" title="Image. ">Image</a>. </p>
  456. <p><a class="el" href="structfsdk_1_1_image.html" title="Image. ">Image</a> objects embed an implicit reference counter to automatically track consumers perform assignments without unnecessary reallocations in a thread-safe manner.</p>
  457. <p>Every time you assign or set an other image as the source of the current image, the current image data reference count is decreased, new data pointer is referenced, and it's counter is increased. When data reference count drops to zero, the data is deallocated.</p>
  458. <p><a class="el" href="structfsdk_1_1_image.html" title="Image. ">Image</a> can also reference external data without an actual ownership. This way you can operate on your data buffer using methods of <a class="el" href="structfsdk_1_1_image.html" title="Image. ">Image</a> and still own it and cotrol it's life time.</p>
  459. <dl class="section note"><dt>Note</dt><dd>be careful when initializing <a class="el" href="structfsdk_1_1_image.html" title="Image. ">Image</a> via <a class="el" href="structfsdk_1_1_image.html#ae43bcd728b9b3389a5d45e20dee1205d" title="Initializes an image with provided data. If current image is not empty and it&#39;s size and format match...">set()</a> or <a class="el" href="structfsdk_1_1_image.html#a1596737bcf2aea4a1c8fc336f6f1b182" title="Initializes an empty image and preallocates storage buffer of given size. ">create()</a> and do NOT provide pointer to data owned by an other image, since this way the destination image will be unaware of data reference counter which will lead to undefined behavior. Always use appropriate overloads to set image data. </dd></dl>
  460. </div><h2 class="groupheader">Member Enumeration Documentation</h2>
  461. <a class="anchor" id="a7929a4eb6155bd9430dac56142672936"></a>
  462. <div class="memitem">
  463. <div class="memproto">
  464. <table class="mlabels">
  465. <tr>
  466. <td class="mlabels-left">
  467. <table class="memname">
  468. <tr>
  469. <td class="memname">enum <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">fsdk::Image::Error</a> : uint32_t</td>
  470. </tr>
  471. </table>
  472. </td>
  473. <td class="mlabels-right">
  474. <span class="mlabels"><span class="mlabel">strong</span></span> </td>
  475. </tr>
  476. </table>
  477. </div><div class="memdoc">
  478. <p><a class="el" href="structfsdk_1_1_image.html" title="Image. ">Image</a> error codes. </p>
  479. <table class="fieldtable">
  480. <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a7929a4eb6155bd9430dac56142672936aa60852f204ed8028c1c58808b746d115"></a>Ok</em>&nbsp;</td><td class="fielddoc">
  481. <p>Ok. </p>
  482. </td></tr>
  483. <tr><td class="fieldname"><em><a class="anchor" id="a7929a4eb6155bd9430dac56142672936a6518a24cb2d8166f5c57016e65e3f419"></a>InvalidWidth</em>&nbsp;</td><td class="fielddoc">
  484. <p>Invalid width. </p>
  485. </td></tr>
  486. <tr><td class="fieldname"><em><a class="anchor" id="a7929a4eb6155bd9430dac56142672936aaff424fc1ea568827830b838a80cd934"></a>InvalidHeight</em>&nbsp;</td><td class="fielddoc">
  487. <p>Invalid height. </p>
  488. </td></tr>
  489. <tr><td class="fieldname"><em><a class="anchor" id="a7929a4eb6155bd9430dac56142672936a588c80ae8885b51a5f0700894da5affe"></a>InvalidDataPtr</em>&nbsp;</td><td class="fielddoc">
  490. <p>Bad input data pointer. </p>
  491. </td></tr>
  492. <tr><td class="fieldname"><em><a class="anchor" id="a7929a4eb6155bd9430dac56142672936a0a86fcdcc2094e925e3166b9710f8d82"></a>InvalidDataSize</em>&nbsp;</td><td class="fielddoc">
  493. <p>Bad input data size. </p>
  494. </td></tr>
  495. <tr><td class="fieldname"><em><a class="anchor" id="a7929a4eb6155bd9430dac56142672936a107a93f5ad9b48f874341eaa0141e0f9"></a>InvalidImage</em>&nbsp;</td><td class="fielddoc">
  496. <p>Invalid image. </p>
  497. </td></tr>
  498. <tr><td class="fieldname"><em><a class="anchor" id="a7929a4eb6155bd9430dac56142672936a538273d971a3da3f944bfb95091df5d8"></a>InvalidArchive</em>&nbsp;</td><td class="fielddoc">
  499. <p>Archive error. </p>
  500. </td></tr>
  501. <tr><td class="fieldname"><em><a class="anchor" id="a7929a4eb6155bd9430dac56142672936a5d0744802b24f44a161d350c25d76c7b"></a>InvalidPath</em>&nbsp;</td><td class="fielddoc">
  502. <p>Bad path for saving / loading. </p>
  503. </td></tr>
  504. <tr><td class="fieldname"><em><a class="anchor" id="a7929a4eb6155bd9430dac56142672936ac85f85f7c13ed006eed130ec183aa810"></a>InvalidType</em>&nbsp;</td><td class="fielddoc">
  505. <p>Unsupported type. </p>
  506. <dl class="section see"><dt>See Also</dt><dd><a class="el" href="structfsdk_1_1_image.html#ad7383fff1a8c54a0b2153ea475b607b7" title="Supported image types. ">Image::Type</a> for more information. </dd></dl>
  507. </td></tr>
  508. <tr><td class="fieldname"><em><a class="anchor" id="a7929a4eb6155bd9430dac56142672936ade236a235b4e8ffc9141676624753b2d"></a>InvalidFormat</em>&nbsp;</td><td class="fielddoc">
  509. <p>Unsupported format. </p>
  510. <dl class="section see"><dt>See Also</dt><dd>Image::Format for more information. </dd></dl>
  511. </td></tr>
  512. <tr><td class="fieldname"><em><a class="anchor" id="a7929a4eb6155bd9430dac56142672936abcdbc5068527815bd978d3cbba5e7deb"></a>InvalidBitmap</em>&nbsp;</td><td class="fielddoc">
  513. <p>Bitmap error occurred. </p>
  514. </td></tr>
  515. <tr><td class="fieldname"><em><a class="anchor" id="a7929a4eb6155bd9430dac56142672936a83fe3c82514cc399b416bbb9d25ac9a9"></a>InvalidMemory</em>&nbsp;</td><td class="fielddoc">
  516. <p>Error at memory opening. </p>
  517. </td></tr>
  518. <tr><td class="fieldname"><em><a class="anchor" id="a7929a4eb6155bd9430dac56142672936aaf9d45225e9d3edf59f2fd40d4b9f157"></a>InvalidConversion</em>&nbsp;</td><td class="fielddoc">
  519. <p>Conversion not implemented. </p>
  520. </td></tr>
  521. <tr><td class="fieldname"><em><a class="anchor" id="a7929a4eb6155bd9430dac56142672936a2a7695a194a2f785215c4ed058e2bf7b"></a>InvalidResidence</em>&nbsp;</td><td class="fielddoc">
  522. <p>Invalid memory residence. </p>
  523. </td></tr>
  524. <tr><td class="fieldname"><em><a class="anchor" id="a7929a4eb6155bd9430dac56142672936a3634e01cc1296daece9832c5396808c2"></a>InvalidDevice</em>&nbsp;</td><td class="fielddoc">
  525. <p>Target Device is not supported for this system. </p>
  526. </td></tr>
  527. <tr><td class="fieldname"><em><a class="anchor" id="a7929a4eb6155bd9430dac56142672936a70fa83b68f2d20d1c607a2864627f13d"></a>FailedToSave</em>&nbsp;</td><td class="fielddoc">
  528. <p>Error during image saving. </p>
  529. </td></tr>
  530. <tr><td class="fieldname"><em><a class="anchor" id="a7929a4eb6155bd9430dac56142672936a023fe093cb8dbc5a80d2a2259d4c97a5"></a>FailedToLoad</em>&nbsp;</td><td class="fielddoc">
  531. <p>Error during image loading. </p>
  532. </td></tr>
  533. <tr><td class="fieldname"><em><a class="anchor" id="a7929a4eb6155bd9430dac56142672936ade906b82a6f70f5f75ea0a11da932a36"></a>FailedToInitialize</em>&nbsp;</td><td class="fielddoc">
  534. <p>Error during initialization. </p>
  535. </td></tr>
  536. <tr><td class="fieldname"><em><a class="anchor" id="a7929a4eb6155bd9430dac56142672936a014e56b039fd19b57e203c1fb371f5ce"></a>ReleasedInOtherThread</em>&nbsp;</td><td class="fielddoc">
  537. <p>Failed to retain image: it was released in another thread. </p>
  538. </td></tr>
  539. </table>
  540. </div>
  541. </div>
  542. <a class="anchor" id="acb272c751b60925b57a543cf19f31a5d"></a>
  543. <div class="memitem">
  544. <div class="memproto">
  545. <table class="mlabels">
  546. <tr>
  547. <td class="mlabels-left">
  548. <table class="memname">
  549. <tr>
  550. <td class="memname">enum <a class="el" href="structfsdk_1_1_image.html#acb272c751b60925b57a543cf19f31a5d">fsdk::Image::ImageCompression</a></td>
  551. </tr>
  552. </table>
  553. </td>
  554. <td class="mlabels-right">
  555. <span class="mlabels"><span class="mlabel">strong</span></span> </td>
  556. </tr>
  557. </table>
  558. </div><div class="memdoc">
  559. <p>Supported compression type is used only for jpg and png types. </p>
  560. <p>JPG case: the higher level of compression corresponds to the lower quality. Compression/decompression speed are constant. PNG case: the higher level of compression corresponds to the lower compression speed. <a class="el" href="structfsdk_1_1_quality.html" title="Quality estimation structure Each estimation is given in normalized [0, 1] range. Parameter meanings:...">Quality</a> are constant. </p>
  561. <table class="fieldtable">
  562. <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="acb272c751b60925b57a543cf19f31a5dab75738e569f17ad386d0ff4cb90eabb9"></a>IC_NO_COMPRESSION</em>&nbsp;</td><td class="fielddoc">
  563. <p>no compression (only for png or jpg image) </p>
  564. </td></tr>
  565. <tr><td class="fieldname"><em><a class="anchor" id="acb272c751b60925b57a543cf19f31a5dae811dec1e75f575972a667e83a23bd34"></a>IC_SMALL_COMPRESSION</em>&nbsp;</td><td class="fielddoc">
  566. <p>compression with minimal (or without) quality loss (only for png or jpg image) </p>
  567. </td></tr>
  568. <tr><td class="fieldname"><em><a class="anchor" id="acb272c751b60925b57a543cf19f31a5daf526f9c09cd1a065f528dc6518895615"></a>IC_MEDIUM_COMPRESSION</em>&nbsp;</td><td class="fielddoc">
  569. <p>medium compression (only for png or jpg) </p>
  570. </td></tr>
  571. <tr><td class="fieldname"><em><a class="anchor" id="acb272c751b60925b57a543cf19f31a5da60cdeb7647e393444a05d358810293f5"></a>IC_HARD_COMPRESSION</em>&nbsp;</td><td class="fielddoc">
  572. <p>more than medium compression (only for png or jpg) </p>
  573. </td></tr>
  574. <tr><td class="fieldname"><em><a class="anchor" id="acb272c751b60925b57a543cf19f31a5daccd72f086a3257b06c12b790a683f2d6"></a>IC_BEST_COMPRESSION</em>&nbsp;</td><td class="fielddoc">
  575. <p>maximum compression level (only for png or jpg) </p>
  576. </td></tr>
  577. </table>
  578. </div>
  579. </div>
  580. <a class="anchor" id="abe735660a541cb213facb543b93f4e07"></a>
  581. <div class="memitem">
  582. <div class="memproto">
  583. <table class="mlabels">
  584. <tr>
  585. <td class="mlabels-left">
  586. <table class="memname">
  587. <tr>
  588. <td class="memname">enum <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07">fsdk::Image::MemoryResidence</a> : uint32_t</td>
  589. </tr>
  590. </table>
  591. </td>
  592. <td class="mlabels-right">
  593. <span class="mlabels"><span class="mlabel">strong</span></span> </td>
  594. </tr>
  595. </table>
  596. </div><div class="memdoc">
  597. <p>Memory residence. </p>
  598. <dl class="section note"><dt>Note</dt><dd>MemoryGPU residence is not supported for mobile platforms! Attempt to use such image on such platforms will cause an error. </dd></dl>
  599. <table class="fieldtable">
  600. <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993"></a>MemoryCPU</em>&nbsp;</td><td class="fielddoc">
  601. <p><a class="el" href="structfsdk_1_1_image.html" title="Image. ">Image</a> in Host device memory. </p>
  602. </td></tr>
  603. <tr><td class="fieldname"><em><a class="anchor" id="abe735660a541cb213facb543b93f4e07af9b0ab7ae4fae4c4b922abbce4b9bebf"></a>MemoryGPU</em>&nbsp;</td><td class="fielddoc">
  604. <p><a class="el" href="structfsdk_1_1_image.html" title="Image. ">Image</a> in Cuda device memory. </p>
  605. </td></tr>
  606. <tr><td class="fieldname"><em><a class="anchor" id="abe735660a541cb213facb543b93f4e07a40657ac0e763be1c1a745957006c3555"></a>MemoryNPU</em>&nbsp;</td><td class="fielddoc">
  607. <p><a class="el" href="structfsdk_1_1_image.html" title="Image. ">Image</a> in NPU device memory. </p>
  608. </td></tr>
  609. <tr><td class="fieldname"><em><a class="anchor" id="abe735660a541cb213facb543b93f4e07a1359bce90afb193bac4435d19c8864dd"></a>MemoryNPU_DPP</em>&nbsp;</td><td class="fielddoc">
  610. <p><a class="el" href="structfsdk_1_1_image.html" title="Image. ">Image</a> in NPU PreProcessing module memory. </p>
  611. </td></tr>
  612. </table>
  613. </div>
  614. </div>
  615. <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
  616. <a class="anchor" id="a624947f81acd14120076f42860e51611"></a>
  617. <div class="memitem">
  618. <div class="memproto">
  619. <table class="mlabels">
  620. <tr>
  621. <td class="mlabels-left">
  622. <table class="memname">
  623. <tr>
  624. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> fsdk::Image::Image </td>
  625. <td>(</td>
  626. <td class="paramtype">int&#160;</td>
  627. <td class="paramname"><em>width</em>, </td>
  628. </tr>
  629. <tr>
  630. <td class="paramkey"></td>
  631. <td></td>
  632. <td class="paramtype">int&#160;</td>
  633. <td class="paramname"><em>height</em>, </td>
  634. </tr>
  635. <tr>
  636. <td class="paramkey"></td>
  637. <td></td>
  638. <td class="paramtype"><a class="el" href="structfsdk_1_1_format.html">Format</a>&#160;</td>
  639. <td class="paramname"><em>format</em>, </td>
  640. </tr>
  641. <tr>
  642. <td class="paramkey"></td>
  643. <td></td>
  644. <td class="paramtype"><a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07">MemoryResidence</a>&#160;</td>
  645. <td class="paramname"><em>residence</em> = <code><a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993">MemoryResidence::MemoryCPU</a></code>, </td>
  646. </tr>
  647. <tr>
  648. <td class="paramkey"></td>
  649. <td></td>
  650. <td class="paramtype">int&#160;</td>
  651. <td class="paramname"><em>deviceId</em> = <code>0</code>&#160;</td>
  652. </tr>
  653. <tr>
  654. <td></td>
  655. <td>)</td>
  656. <td></td><td></td>
  657. </tr>
  658. </table>
  659. </td>
  660. <td class="mlabels-right">
  661. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  662. </tr>
  663. </table>
  664. </div><div class="memdoc">
  665. <p>Initializes an empty image and preallocates storage buffer of given size. </p>
  666. <dl class="params"><dt>Parameters</dt><dd>
  667. <table class="params">
  668. <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>image width. </td></tr>
  669. <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>image height. </td></tr>
  670. <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>image format. </td></tr>
  671. <tr><td class="paramdir">[in]</td><td class="paramname">deviceId</td><td>index of a device where image will be allocated </td></tr>
  672. </table>
  673. </dd>
  674. </dl>
  675. <dl class="section note"><dt>Note</dt><dd>deviceId is ignored for residence = <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993" title="Image in Host device memory. ">MemoryResidence::MemoryCPU</a> </dd>
  676. <dd>
  677. if memory allocation fails, no exception is thrown; function call results in empty image. </dd></dl>
  678. </div>
  679. </div>
  680. <a class="anchor" id="a348af5fca41e5b170c0487a055f6ebbb"></a>
  681. <div class="memitem">
  682. <div class="memproto">
  683. <table class="mlabels">
  684. <tr>
  685. <td class="mlabels-left">
  686. <table class="memname">
  687. <tr>
  688. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> fsdk::Image::Image </td>
  689. <td>(</td>
  690. <td class="paramtype">int&#160;</td>
  691. <td class="paramname"><em>width</em>, </td>
  692. </tr>
  693. <tr>
  694. <td class="paramkey"></td>
  695. <td></td>
  696. <td class="paramtype">int&#160;</td>
  697. <td class="paramname"><em>height</em>, </td>
  698. </tr>
  699. <tr>
  700. <td class="paramkey"></td>
  701. <td></td>
  702. <td class="paramtype"><a class="el" href="structfsdk_1_1_format.html">Format</a>&#160;</td>
  703. <td class="paramname"><em>format</em>, </td>
  704. </tr>
  705. <tr>
  706. <td class="paramkey"></td>
  707. <td></td>
  708. <td class="paramtype">const void *&#160;</td>
  709. <td class="paramname"><em>data</em>, </td>
  710. </tr>
  711. <tr>
  712. <td class="paramkey"></td>
  713. <td></td>
  714. <td class="paramtype"><a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07">MemoryResidence</a>&#160;</td>
  715. <td class="paramname"><em>residence</em> = <code><a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993">MemoryResidence::MemoryCPU</a></code>, </td>
  716. </tr>
  717. <tr>
  718. <td class="paramkey"></td>
  719. <td></td>
  720. <td class="paramtype">int&#160;</td>
  721. <td class="paramname"><em>deviceId</em> = <code>0</code>&#160;</td>
  722. </tr>
  723. <tr>
  724. <td></td>
  725. <td>)</td>
  726. <td></td><td></td>
  727. </tr>
  728. </table>
  729. </td>
  730. <td class="mlabels-right">
  731. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  732. </tr>
  733. </table>
  734. </div><div class="memdoc">
  735. <p>Initializes an empty image and preallocates storage buffer of given size. Fills image contents with provided data. </p>
  736. <dl class="params"><dt>Parameters</dt><dd>
  737. <table class="params">
  738. <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>image width. </td></tr>
  739. <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>image height. </td></tr>
  740. <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>image format. </td></tr>
  741. <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>image data. </td></tr>
  742. <tr><td class="paramdir">[in]</td><td class="paramname">deviceId</td><td>index of a device where image will be allocated </td></tr>
  743. </table>
  744. </dd>
  745. </dl>
  746. <dl class="section note"><dt>Note</dt><dd>deviceId is ignored for residence = <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993" title="Image in Host device memory. ">MemoryResidence::MemoryCPU</a> </dd>
  747. <dd>
  748. if memory allocation fails, no exception is thrown; function call results in empty image. </dd></dl>
  749. </div>
  750. </div>
  751. <a class="anchor" id="ac4d7421e28a9d81fed4de88dcc3fecf4"></a>
  752. <div class="memitem">
  753. <div class="memproto">
  754. <table class="mlabels">
  755. <tr>
  756. <td class="mlabels-left">
  757. <table class="memname">
  758. <tr>
  759. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> fsdk::Image::Image </td>
  760. <td>(</td>
  761. <td class="paramtype">int&#160;</td>
  762. <td class="paramname"><em>width</em>, </td>
  763. </tr>
  764. <tr>
  765. <td class="paramkey"></td>
  766. <td></td>
  767. <td class="paramtype">int&#160;</td>
  768. <td class="paramname"><em>height</em>, </td>
  769. </tr>
  770. <tr>
  771. <td class="paramkey"></td>
  772. <td></td>
  773. <td class="paramtype"><a class="el" href="structfsdk_1_1_format.html">Format</a>&#160;</td>
  774. <td class="paramname"><em>format</em>, </td>
  775. </tr>
  776. <tr>
  777. <td class="paramkey"></td>
  778. <td></td>
  779. <td class="paramtype">void *&#160;</td>
  780. <td class="paramname"><em>data</em>, </td>
  781. </tr>
  782. <tr>
  783. <td class="paramkey"></td>
  784. <td></td>
  785. <td class="paramtype">bool&#160;</td>
  786. <td class="paramname"><em>copy</em>, </td>
  787. </tr>
  788. <tr>
  789. <td class="paramkey"></td>
  790. <td></td>
  791. <td class="paramtype"><a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07">MemoryResidence</a>&#160;</td>
  792. <td class="paramname"><em>residence</em> = <code><a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993">MemoryResidence::MemoryCPU</a></code>, </td>
  793. </tr>
  794. <tr>
  795. <td class="paramkey"></td>
  796. <td></td>
  797. <td class="paramtype">int&#160;</td>
  798. <td class="paramname"><em>deviceId</em> = <code>0</code>&#160;</td>
  799. </tr>
  800. <tr>
  801. <td></td>
  802. <td>)</td>
  803. <td></td><td></td>
  804. </tr>
  805. </table>
  806. </td>
  807. <td class="mlabels-right">
  808. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  809. </tr>
  810. </table>
  811. </div><div class="memdoc">
  812. <p>Initializes an image. If copy is true, this allocates a new buffer of given size and fills image contents with provided data (copies it). If copy is false (which is default) this will just reference the provided data. </p>
  813. <dl class="params"><dt>Parameters</dt><dd>
  814. <table class="params">
  815. <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>image width. </td></tr>
  816. <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>image height. </td></tr>
  817. <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>image format. </td></tr>
  818. <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>image data. </td></tr>
  819. <tr><td class="paramdir">[in]</td><td class="paramname">copy</td><td>[optional] whether to copy or reference data. </td></tr>
  820. <tr><td class="paramdir">[in]</td><td class="paramname">deviceId</td><td>index of a device where image will be allocated </td></tr>
  821. </table>
  822. </dd>
  823. </dl>
  824. <dl class="section note"><dt>Note</dt><dd>deviceId is ignored for residence = <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993" title="Image in Host device memory. ">MemoryResidence::MemoryCPU</a> </dd>
  825. <dd>
  826. if memory allocation fails, no exception is thrown; function call results in empty image. </dd></dl>
  827. </div>
  828. </div>
  829. <a class="anchor" id="a021abfa7a95a7d6a1e9f4edabf2043a2"></a>
  830. <div class="memitem">
  831. <div class="memproto">
  832. <table class="mlabels">
  833. <tr>
  834. <td class="mlabels-left">
  835. <table class="memname">
  836. <tr>
  837. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> fsdk::Image::Image </td>
  838. <td>(</td>
  839. <td class="paramtype">const <a class="el" href="structfsdk_1_1_image.html">Image</a> &amp;&#160;</td>
  840. <td class="paramname"><em>other</em></td><td>)</td>
  841. <td></td>
  842. </tr>
  843. </table>
  844. </td>
  845. <td class="mlabels-right">
  846. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  847. </tr>
  848. </table>
  849. </div><div class="memdoc">
  850. <p>Initializes an image as a reference to an other image. </p>
  851. <dl class="params"><dt>Parameters</dt><dd>
  852. <table class="params">
  853. <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>other image. </td></tr>
  854. </table>
  855. </dd>
  856. </dl>
  857. </div>
  858. </div>
  859. <a class="anchor" id="aac20796ff887ec564cee62c826374384"></a>
  860. <div class="memitem">
  861. <div class="memproto">
  862. <table class="mlabels">
  863. <tr>
  864. <td class="mlabels-left">
  865. <table class="memname">
  866. <tr>
  867. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> fsdk::Image::Image </td>
  868. <td>(</td>
  869. <td class="paramtype"><a class="el" href="structfsdk_1_1_image.html">Image</a> &amp;&amp;&#160;</td>
  870. <td class="paramname"><em>other</em></td><td>)</td>
  871. <td></td>
  872. </tr>
  873. </table>
  874. </td>
  875. <td class="mlabels-right">
  876. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  877. </tr>
  878. </table>
  879. </div><div class="memdoc">
  880. <p>Initializes an image with contents of an other image. Source image is then invalidated. </p>
  881. <dl class="params"><dt>Parameters</dt><dd>
  882. <table class="params">
  883. <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>other image. </td></tr>
  884. </table>
  885. </dd>
  886. </dl>
  887. </div>
  888. </div>
  889. <a class="anchor" id="a6c85de74e85305f06232bdfb49331e0e"></a>
  890. <div class="memitem">
  891. <div class="memproto">
  892. <table class="mlabels">
  893. <tr>
  894. <td class="mlabels-left">
  895. <table class="memname">
  896. <tr>
  897. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> fsdk::Image::Image </td>
  898. <td>(</td>
  899. <td class="paramtype">const <a class="el" href="structfsdk_1_1_sub_image.html">SubImage</a> &amp;&#160;</td>
  900. <td class="paramname"><em>subImage</em></td><td>)</td>
  901. <td></td>
  902. </tr>
  903. </table>
  904. </td>
  905. <td class="mlabels-right">
  906. <span class="mlabels"><span class="mlabel">explicit</span><span class="mlabel">noexcept</span></span> </td>
  907. </tr>
  908. </table>
  909. </div><div class="memdoc">
  910. <p>Initializes an image with contents of a sub image. Since sub images do not handle data life time, image contents are always copied. </p>
  911. <dl class="params"><dt>Parameters</dt><dd>
  912. <table class="params">
  913. <tr><td class="paramdir">[in]</td><td class="paramname">subImage</td><td>sub image. </td></tr>
  914. </table>
  915. </dd>
  916. </dl>
  917. </div>
  918. </div>
  919. <h2 class="groupheader">Member Function Documentation</h2>
  920. <a class="anchor" id="aef4ba8f782d69628ffaffc4da6ed970f"></a>
  921. <div class="memitem">
  922. <div class="memproto">
  923. <table class="mlabels">
  924. <tr>
  925. <td class="mlabels-left">
  926. <table class="memname">
  927. <tr>
  928. <td class="memname">static <a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> void* fsdk::Image::allocate </td>
  929. <td>(</td>
  930. <td class="paramtype">int&#160;</td>
  931. <td class="paramname"><em>size</em></td><td>)</td>
  932. <td></td>
  933. </tr>
  934. </table>
  935. </td>
  936. <td class="mlabels-right">
  937. <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span><span class="mlabel">noexcept</span></span> </td>
  938. </tr>
  939. </table>
  940. </div><div class="memdoc">
  941. <p>Allocate memory. </p>
  942. <dl class="params"><dt>Parameters</dt><dd>
  943. <table class="params">
  944. <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>memory region size in bytes. </td></tr>
  945. </table>
  946. </dd>
  947. </dl>
  948. <dl class="section return"><dt>Returns</dt><dd>Memory region pointer. </dd></dl>
  949. </div>
  950. </div>
  951. <a class="anchor" id="a523b0c28a4003c75c3907d0c93110493"></a>
  952. <div class="memitem">
  953. <div class="memproto">
  954. <table class="mlabels">
  955. <tr>
  956. <td class="mlabels-left">
  957. <table class="memname">
  958. <tr>
  959. <td class="memname"><a class="el" href="structfsdk_1_1_image.html">Image</a> fsdk::Image::clone </td>
  960. <td>(</td>
  961. <td class="paramname"></td><td>)</td>
  962. <td> const</td>
  963. </tr>
  964. </table>
  965. </td>
  966. <td class="mlabels-right">
  967. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  968. </tr>
  969. </table>
  970. </div><div class="memdoc">
  971. <p>Create a copy of this image. The new image will have it's own reference count. </p>
  972. <dl class="section return"><dt>Returns</dt><dd>new image with copied data. </dd></dl>
  973. <dl class="section note"><dt>Note</dt><dd>empty image returned in case of an error. </dd></dl>
  974. </div>
  975. </div>
  976. <a class="anchor" id="ab0c8024817b8e634f5ec18f1a0f08916"></a>
  977. <div class="memitem">
  978. <div class="memproto">
  979. <table class="mlabels">
  980. <tr>
  981. <td class="mlabels-left">
  982. <table class="memname">
  983. <tr>
  984. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt;<a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Image::Error</a>&gt; fsdk::Image::convert </td>
  985. <td>(</td>
  986. <td class="paramtype"><a class="el" href="structfsdk_1_1_image.html">Image</a> &amp;&#160;</td>
  987. <td class="paramname"><em>dest</em>, </td>
  988. </tr>
  989. <tr>
  990. <td class="paramkey"></td>
  991. <td></td>
  992. <td class="paramtype">int&#160;</td>
  993. <td class="paramname"><em>x</em>, </td>
  994. </tr>
  995. <tr>
  996. <td class="paramkey"></td>
  997. <td></td>
  998. <td class="paramtype">int&#160;</td>
  999. <td class="paramname"><em>y</em>, </td>
  1000. </tr>
  1001. <tr>
  1002. <td class="paramkey"></td>
  1003. <td></td>
  1004. <td class="paramtype">int&#160;</td>
  1005. <td class="paramname"><em>width</em>, </td>
  1006. </tr>
  1007. <tr>
  1008. <td class="paramkey"></td>
  1009. <td></td>
  1010. <td class="paramtype">int&#160;</td>
  1011. <td class="paramname"><em>height</em>, </td>
  1012. </tr>
  1013. <tr>
  1014. <td class="paramkey"></td>
  1015. <td></td>
  1016. <td class="paramtype"><a class="el" href="structfsdk_1_1_format.html">Format</a>&#160;</td>
  1017. <td class="paramname"><em>format</em>, </td>
  1018. </tr>
  1019. <tr>
  1020. <td class="paramkey"></td>
  1021. <td></td>
  1022. <td class="paramtype"><a class="el" href="structfsdk_1_1_image.html#a8a60bf4ecd1f111e034ff9a8478e62f4">TargetDevice</a>&#160;</td>
  1023. <td class="paramname"><em>device</em> = <code>TargetDevice::CPU</code>&#160;</td>
  1024. </tr>
  1025. <tr>
  1026. <td></td>
  1027. <td>)</td>
  1028. <td></td><td> const</td>
  1029. </tr>
  1030. </table>
  1031. </td>
  1032. <td class="mlabels-right">
  1033. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  1034. </tr>
  1035. </table>
  1036. </div><div class="memdoc">
  1037. <p>Convert image format. </p>
  1038. <dl class="section note"><dt>Note</dt><dd>specifying out of bounds area will result in runtime error. </dd></dl>
  1039. <dl class="params"><dt>Parameters</dt><dd>
  1040. <table class="params">
  1041. <tr><td class="paramdir">[in,out]</td><td class="paramname">dest</td><td>destination image. </td></tr>
  1042. <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>horisontal coordinate of top left corner of image rect to convert. </td></tr>
  1043. <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>vertical coordinate of top left corner of image rect to convert. </td></tr>
  1044. <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>width of image rect to convert. </td></tr>
  1045. <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>height of image rect to convert. </td></tr>
  1046. <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>new format. </td></tr>
  1047. <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>target device to run convert on. </td></tr>
  1048. </table>
  1049. </dd>
  1050. </dl>
  1051. <dl class="section note"><dt>Note</dt><dd>dest should not be the same as this image. </dd>
  1052. <dd>
  1053. memory will not be reallocated if dest was already created with appropriate dimensions and format. </dd></dl>
  1054. <dl class="section return"><dt>Returns</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> with error code specified by <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  1055. <dl class="section see"><dt>See Also</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> and <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  1056. </div>
  1057. </div>
  1058. <a class="anchor" id="a566dd9391571379fed5e1da2ed9975c8"></a>
  1059. <div class="memitem">
  1060. <div class="memproto">
  1061. <table class="mlabels">
  1062. <tr>
  1063. <td class="mlabels-left">
  1064. <table class="memname">
  1065. <tr>
  1066. <td class="memname"><a class="el" href="structfsdk_1_1_result.html">Result</a>&lt;<a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Image::Error</a>&gt; fsdk::Image::convert </td>
  1067. <td>(</td>
  1068. <td class="paramtype"><a class="el" href="structfsdk_1_1_image.html">Image</a> &amp;&#160;</td>
  1069. <td class="paramname"><em>dest</em>, </td>
  1070. </tr>
  1071. <tr>
  1072. <td class="paramkey"></td>
  1073. <td></td>
  1074. <td class="paramtype">const <a class="el" href="namespacefsdk.html#abc92bf6fd92f16b2d9c8e78a85838bcd">Point2i</a> &amp;&#160;</td>
  1075. <td class="paramname"><em>origin</em>, </td>
  1076. </tr>
  1077. <tr>
  1078. <td class="paramkey"></td>
  1079. <td></td>
  1080. <td class="paramtype">const <a class="el" href="namespacefsdk.html#a77eb62991e30a65164c055b3e518defd">Size</a> &amp;&#160;</td>
  1081. <td class="paramname"><em>size</em>, </td>
  1082. </tr>
  1083. <tr>
  1084. <td class="paramkey"></td>
  1085. <td></td>
  1086. <td class="paramtype"><a class="el" href="structfsdk_1_1_format.html">Format</a>&#160;</td>
  1087. <td class="paramname"><em>format</em>, </td>
  1088. </tr>
  1089. <tr>
  1090. <td class="paramkey"></td>
  1091. <td></td>
  1092. <td class="paramtype"><a class="el" href="structfsdk_1_1_image.html#a8a60bf4ecd1f111e034ff9a8478e62f4">TargetDevice</a>&#160;</td>
  1093. <td class="paramname"><em>device</em> = <code>TargetDevice::CPU</code>&#160;</td>
  1094. </tr>
  1095. <tr>
  1096. <td></td>
  1097. <td>)</td>
  1098. <td></td><td> const</td>
  1099. </tr>
  1100. </table>
  1101. </td>
  1102. <td class="mlabels-right">
  1103. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  1104. </tr>
  1105. </table>
  1106. </div><div class="memdoc">
  1107. <p>Convert image format. </p>
  1108. <dl class="section note"><dt>Note</dt><dd>specifying out of bounds area will result in runtime error. </dd></dl>
  1109. <dl class="params"><dt>Parameters</dt><dd>
  1110. <table class="params">
  1111. <tr><td class="paramdir">[in,out]</td><td class="paramname">dest</td><td>destination image. </td></tr>
  1112. <tr><td class="paramdir">[in]</td><td class="paramname">origin</td><td>converted image origin. </td></tr>
  1113. <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>image size to convert. </td></tr>
  1114. <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>new format. </td></tr>
  1115. <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>target device to run convert on. </td></tr>
  1116. </table>
  1117. </dd>
  1118. </dl>
  1119. <dl class="section note"><dt>Note</dt><dd>dest should not be the same as this image. </dd>
  1120. <dd>
  1121. memory will not be reallocated if dest was already created with appropriate dimensions and format. </dd></dl>
  1122. <dl class="section return"><dt>Returns</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> with error code specified by <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  1123. <dl class="section see"><dt>See Also</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> and <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  1124. </div>
  1125. </div>
  1126. <a class="anchor" id="a3ddea03d5ee948a5c2d0aa81a4fe8027"></a>
  1127. <div class="memitem">
  1128. <div class="memproto">
  1129. <table class="mlabels">
  1130. <tr>
  1131. <td class="mlabels-left">
  1132. <table class="memname">
  1133. <tr>
  1134. <td class="memname"><a class="el" href="structfsdk_1_1_result.html">Result</a>&lt;<a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Image::Error</a>&gt; fsdk::Image::convert </td>
  1135. <td>(</td>
  1136. <td class="paramtype"><a class="el" href="structfsdk_1_1_image.html">Image</a> &amp;&#160;</td>
  1137. <td class="paramname"><em>dest</em>, </td>
  1138. </tr>
  1139. <tr>
  1140. <td class="paramkey"></td>
  1141. <td></td>
  1142. <td class="paramtype">const <a class="el" href="namespacefsdk.html#a77eb62991e30a65164c055b3e518defd">Size</a> &amp;&#160;</td>
  1143. <td class="paramname"><em>size</em>, </td>
  1144. </tr>
  1145. <tr>
  1146. <td class="paramkey"></td>
  1147. <td></td>
  1148. <td class="paramtype"><a class="el" href="structfsdk_1_1_format.html">Format</a>&#160;</td>
  1149. <td class="paramname"><em>format</em>, </td>
  1150. </tr>
  1151. <tr>
  1152. <td class="paramkey"></td>
  1153. <td></td>
  1154. <td class="paramtype"><a class="el" href="structfsdk_1_1_image.html#a8a60bf4ecd1f111e034ff9a8478e62f4">TargetDevice</a>&#160;</td>
  1155. <td class="paramname"><em>device</em> = <code>TargetDevice::CPU</code>&#160;</td>
  1156. </tr>
  1157. <tr>
  1158. <td></td>
  1159. <td>)</td>
  1160. <td></td><td> const</td>
  1161. </tr>
  1162. </table>
  1163. </td>
  1164. <td class="mlabels-right">
  1165. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  1166. </tr>
  1167. </table>
  1168. </div><div class="memdoc">
  1169. <p>Convert image format. </p>
  1170. <dl class="section note"><dt>Note</dt><dd>specifying out of bounds area will result in runtime error. </dd>
  1171. <dd>
  1172. new image origin is assumed at the top-left corner of the existing one. </dd></dl>
  1173. <dl class="params"><dt>Parameters</dt><dd>
  1174. <table class="params">
  1175. <tr><td class="paramdir">[in,out]</td><td class="paramname">dest</td><td>destination image. </td></tr>
  1176. <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>new format. </td></tr>
  1177. <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>image area size to convert. </td></tr>
  1178. <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>target device to run convert on. </td></tr>
  1179. </table>
  1180. </dd>
  1181. </dl>
  1182. <dl class="section note"><dt>Note</dt><dd>dest should not be the same as this image. </dd>
  1183. <dd>
  1184. memory will not be reallocated if dest was already created with appropriate dimensions and format. </dd></dl>
  1185. <dl class="section return"><dt>Returns</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> with error code specified by <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  1186. <dl class="section see"><dt>See Also</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> and <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  1187. </div>
  1188. </div>
  1189. <a class="anchor" id="a9a8a6abf162c095d6f1e62919cf4dabf"></a>
  1190. <div class="memitem">
  1191. <div class="memproto">
  1192. <table class="mlabels">
  1193. <tr>
  1194. <td class="mlabels-left">
  1195. <table class="memname">
  1196. <tr>
  1197. <td class="memname"><a class="el" href="structfsdk_1_1_result.html">Result</a>&lt;<a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Image::Error</a>&gt; fsdk::Image::convert </td>
  1198. <td>(</td>
  1199. <td class="paramtype"><a class="el" href="structfsdk_1_1_image.html">Image</a> &amp;&#160;</td>
  1200. <td class="paramname"><em>dest</em>, </td>
  1201. </tr>
  1202. <tr>
  1203. <td class="paramkey"></td>
  1204. <td></td>
  1205. <td class="paramtype">const <a class="el" href="structfsdk_1_1_base_rect.html">Rect</a> &amp;&#160;</td>
  1206. <td class="paramname"><em>rect</em>, </td>
  1207. </tr>
  1208. <tr>
  1209. <td class="paramkey"></td>
  1210. <td></td>
  1211. <td class="paramtype"><a class="el" href="structfsdk_1_1_format.html">Format</a>&#160;</td>
  1212. <td class="paramname"><em>format</em>, </td>
  1213. </tr>
  1214. <tr>
  1215. <td class="paramkey"></td>
  1216. <td></td>
  1217. <td class="paramtype"><a class="el" href="structfsdk_1_1_image.html#a8a60bf4ecd1f111e034ff9a8478e62f4">TargetDevice</a>&#160;</td>
  1218. <td class="paramname"><em>device</em> = <code>TargetDevice::CPU</code>&#160;</td>
  1219. </tr>
  1220. <tr>
  1221. <td></td>
  1222. <td>)</td>
  1223. <td></td><td> const</td>
  1224. </tr>
  1225. </table>
  1226. </td>
  1227. <td class="mlabels-right">
  1228. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  1229. </tr>
  1230. </table>
  1231. </div><div class="memdoc">
  1232. <p>Convert image format. </p>
  1233. <dl class="section note"><dt>Note</dt><dd>specifying out of bounds area will result in runtime error. </dd></dl>
  1234. <dl class="params"><dt>Parameters</dt><dd>
  1235. <table class="params">
  1236. <tr><td class="paramdir">[in,out]</td><td class="paramname">dest</td><td>destination image. </td></tr>
  1237. <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>new format. </td></tr>
  1238. <tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>image area rect to convert. </td></tr>
  1239. <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>target device to run convert on. </td></tr>
  1240. </table>
  1241. </dd>
  1242. </dl>
  1243. <dl class="section note"><dt>Note</dt><dd>dest should not be the same as this image. </dd>
  1244. <dd>
  1245. memory will not be reallocated if dest was already created with appropriate dimensions and format. </dd></dl>
  1246. <dl class="section return"><dt>Returns</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> with error code specified by <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  1247. <dl class="section see"><dt>See Also</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> and <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  1248. </div>
  1249. </div>
  1250. <a class="anchor" id="a10e36f6ea8f5e293f7bd58658ecb1653"></a>
  1251. <div class="memitem">
  1252. <div class="memproto">
  1253. <table class="mlabels">
  1254. <tr>
  1255. <td class="mlabels-left">
  1256. <table class="memname">
  1257. <tr>
  1258. <td class="memname"><a class="el" href="structfsdk_1_1_result.html">Result</a>&lt;<a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Image::Error</a>&gt; fsdk::Image::convert </td>
  1259. <td>(</td>
  1260. <td class="paramtype"><a class="el" href="structfsdk_1_1_image.html">Image</a> &amp;&#160;</td>
  1261. <td class="paramname"><em>dest</em>, </td>
  1262. </tr>
  1263. <tr>
  1264. <td class="paramkey"></td>
  1265. <td></td>
  1266. <td class="paramtype"><a class="el" href="structfsdk_1_1_format.html">Format</a>&#160;</td>
  1267. <td class="paramname"><em>format</em>, </td>
  1268. </tr>
  1269. <tr>
  1270. <td class="paramkey"></td>
  1271. <td></td>
  1272. <td class="paramtype"><a class="el" href="structfsdk_1_1_image.html#a8a60bf4ecd1f111e034ff9a8478e62f4">TargetDevice</a>&#160;</td>
  1273. <td class="paramname"><em>device</em> = <code>TargetDevice::CPU</code>&#160;</td>
  1274. </tr>
  1275. <tr>
  1276. <td></td>
  1277. <td>)</td>
  1278. <td></td><td> const</td>
  1279. </tr>
  1280. </table>
  1281. </td>
  1282. <td class="mlabels-right">
  1283. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  1284. </tr>
  1285. </table>
  1286. </div><div class="memdoc">
  1287. <p>Convert image format. </p>
  1288. <dl class="params"><dt>Parameters</dt><dd>
  1289. <table class="params">
  1290. <tr><td class="paramdir">[in,out]</td><td class="paramname">dest</td><td>destination image. </td></tr>
  1291. <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>new format. </td></tr>
  1292. <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>target device to run convert on. </td></tr>
  1293. </table>
  1294. </dd>
  1295. </dl>
  1296. <dl class="section note"><dt>Note</dt><dd>dest should not be the same as this image. </dd>
  1297. <dd>
  1298. memory will not be reallocated if dest was already created with appropriate dimensions and format. </dd></dl>
  1299. <dl class="section return"><dt>Returns</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> with error code specified by <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  1300. <dl class="section see"><dt>See Also</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> and <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  1301. </div>
  1302. </div>
  1303. <a class="anchor" id="a1596737bcf2aea4a1c8fc336f6f1b182"></a>
  1304. <div class="memitem">
  1305. <div class="memproto">
  1306. <table class="mlabels">
  1307. <tr>
  1308. <td class="mlabels-left">
  1309. <table class="memname">
  1310. <tr>
  1311. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt;<a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a>&gt; fsdk::Image::create </td>
  1312. <td>(</td>
  1313. <td class="paramtype">int&#160;</td>
  1314. <td class="paramname"><em>width</em>, </td>
  1315. </tr>
  1316. <tr>
  1317. <td class="paramkey"></td>
  1318. <td></td>
  1319. <td class="paramtype">int&#160;</td>
  1320. <td class="paramname"><em>height</em>, </td>
  1321. </tr>
  1322. <tr>
  1323. <td class="paramkey"></td>
  1324. <td></td>
  1325. <td class="paramtype"><a class="el" href="structfsdk_1_1_format.html">Format</a>&#160;</td>
  1326. <td class="paramname"><em>format</em>, </td>
  1327. </tr>
  1328. <tr>
  1329. <td class="paramkey"></td>
  1330. <td></td>
  1331. <td class="paramtype">bool&#160;</td>
  1332. <td class="paramname"><em>cleanup</em> = <code>true</code>, </td>
  1333. </tr>
  1334. <tr>
  1335. <td class="paramkey"></td>
  1336. <td></td>
  1337. <td class="paramtype"><a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07">MemoryResidence</a>&#160;</td>
  1338. <td class="paramname"><em>residence</em> = <code><a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993">MemoryResidence::MemoryCPU</a></code>, </td>
  1339. </tr>
  1340. <tr>
  1341. <td class="paramkey"></td>
  1342. <td></td>
  1343. <td class="paramtype">int&#160;</td>
  1344. <td class="paramname"><em>deviceId</em> = <code>0</code>&#160;</td>
  1345. </tr>
  1346. <tr>
  1347. <td></td>
  1348. <td>)</td>
  1349. <td></td><td></td>
  1350. </tr>
  1351. </table>
  1352. </td>
  1353. <td class="mlabels-right">
  1354. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  1355. </tr>
  1356. </table>
  1357. </div><div class="memdoc">
  1358. <p>Initializes an empty image and preallocates storage buffer of given size. </p>
  1359. <dl class="params"><dt>Parameters</dt><dd>
  1360. <table class="params">
  1361. <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>image width. </td></tr>
  1362. <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>image height. </td></tr>
  1363. <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>image format. </td></tr>
  1364. <tr><td class="paramdir">[in]</td><td class="paramname">cleanup</td><td>initializes internal image memory to default value. </td></tr>
  1365. <tr><td class="paramdir">[in]</td><td class="paramname">residence</td><td>memory residence of a data pointer. </td></tr>
  1366. <tr><td class="paramdir">[in]</td><td class="paramname">deviceId</td><td>index of a device where image will be allocated </td></tr>
  1367. </table>
  1368. </dd>
  1369. </dl>
  1370. <dl class="section note"><dt>Note</dt><dd>deviceId is ignored for residence = <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993" title="Image in Host device memory. ">MemoryResidence::MemoryCPU</a> </dd>
  1371. <dd>
  1372. output image will have memory residence of the provided data pointer. </dd>
  1373. <dd>
  1374. if memory allocation fails, no exception is thrown; function call results in empty image. </dd></dl>
  1375. <dl class="section return"><dt>Returns</dt><dd>true in case of success, false otherwise. </dd></dl>
  1376. </div>
  1377. </div>
  1378. <a class="anchor" id="aafa5e102bd9b4ccda1f827f1a12499db"></a>
  1379. <div class="memitem">
  1380. <div class="memproto">
  1381. <table class="mlabels">
  1382. <tr>
  1383. <td class="mlabels-left">
  1384. <table class="memname">
  1385. <tr>
  1386. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt;<a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a>&gt; fsdk::Image::create </td>
  1387. <td>(</td>
  1388. <td class="paramtype">int&#160;</td>
  1389. <td class="paramname"><em>width</em>, </td>
  1390. </tr>
  1391. <tr>
  1392. <td class="paramkey"></td>
  1393. <td></td>
  1394. <td class="paramtype">int&#160;</td>
  1395. <td class="paramname"><em>height</em>, </td>
  1396. </tr>
  1397. <tr>
  1398. <td class="paramkey"></td>
  1399. <td></td>
  1400. <td class="paramtype"><a class="el" href="structfsdk_1_1_format.html">Format</a>&#160;</td>
  1401. <td class="paramname"><em>format</em>, </td>
  1402. </tr>
  1403. <tr>
  1404. <td class="paramkey"></td>
  1405. <td></td>
  1406. <td class="paramtype">const void *&#160;</td>
  1407. <td class="paramname"><em>data</em>, </td>
  1408. </tr>
  1409. <tr>
  1410. <td class="paramkey"></td>
  1411. <td></td>
  1412. <td class="paramtype"><a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07">MemoryResidence</a>&#160;</td>
  1413. <td class="paramname"><em>residence</em> = <code><a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993">MemoryResidence::MemoryCPU</a></code>, </td>
  1414. </tr>
  1415. <tr>
  1416. <td class="paramkey"></td>
  1417. <td></td>
  1418. <td class="paramtype">int&#160;</td>
  1419. <td class="paramname"><em>deviceId</em> = <code>0</code>&#160;</td>
  1420. </tr>
  1421. <tr>
  1422. <td></td>
  1423. <td>)</td>
  1424. <td></td><td></td>
  1425. </tr>
  1426. </table>
  1427. </td>
  1428. <td class="mlabels-right">
  1429. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  1430. </tr>
  1431. </table>
  1432. </div><div class="memdoc">
  1433. <p>Initializes an empty image and preallocates storage buffer of given size. Fills image contents with provided data. </p>
  1434. <dl class="params"><dt>Parameters</dt><dd>
  1435. <table class="params">
  1436. <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>image width. </td></tr>
  1437. <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>image height. </td></tr>
  1438. <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>image format. </td></tr>
  1439. <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>image data. </td></tr>
  1440. <tr><td class="paramdir">[in]</td><td class="paramname">memory</td><td>residence of a data pointer. </td></tr>
  1441. <tr><td class="paramdir">[in]</td><td class="paramname">deviceId</td><td>index of a device where data pointer was allocated </td></tr>
  1442. </table>
  1443. </dd>
  1444. </dl>
  1445. <dl class="section note"><dt>Note</dt><dd>deviceId is ignored for residence = <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993" title="Image in Host device memory. ">MemoryResidence::MemoryCPU</a> </dd>
  1446. <dd>
  1447. output image will have memory residence of the provided data pointer. </dd>
  1448. <dd>
  1449. if memory allocation fails, no exception is thrown; function call results in empty image. </dd></dl>
  1450. <dl class="section return"><dt>Returns</dt><dd>true in case of success, false otherwise. </dd></dl>
  1451. </div>
  1452. </div>
  1453. <a class="anchor" id="a99fd0c30cf7d2fd3c26ff6f1771a356b"></a>
  1454. <div class="memitem">
  1455. <div class="memproto">
  1456. <table class="mlabels">
  1457. <tr>
  1458. <td class="mlabels-left">
  1459. <table class="memname">
  1460. <tr>
  1461. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt;<a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a>&gt; fsdk::Image::create </td>
  1462. <td>(</td>
  1463. <td class="paramtype">int&#160;</td>
  1464. <td class="paramname"><em>width</em>, </td>
  1465. </tr>
  1466. <tr>
  1467. <td class="paramkey"></td>
  1468. <td></td>
  1469. <td class="paramtype">int&#160;</td>
  1470. <td class="paramname"><em>height</em>, </td>
  1471. </tr>
  1472. <tr>
  1473. <td class="paramkey"></td>
  1474. <td></td>
  1475. <td class="paramtype"><a class="el" href="structfsdk_1_1_format.html">Format</a>&#160;</td>
  1476. <td class="paramname"><em>format</em>, </td>
  1477. </tr>
  1478. <tr>
  1479. <td class="paramkey"></td>
  1480. <td></td>
  1481. <td class="paramtype">void *&#160;</td>
  1482. <td class="paramname"><em>data</em>, </td>
  1483. </tr>
  1484. <tr>
  1485. <td class="paramkey"></td>
  1486. <td></td>
  1487. <td class="paramtype">bool&#160;</td>
  1488. <td class="paramname"><em>copy</em>, </td>
  1489. </tr>
  1490. <tr>
  1491. <td class="paramkey"></td>
  1492. <td></td>
  1493. <td class="paramtype"><a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07">MemoryResidence</a>&#160;</td>
  1494. <td class="paramname"><em>residence</em> = <code><a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993">MemoryResidence::MemoryCPU</a></code>, </td>
  1495. </tr>
  1496. <tr>
  1497. <td class="paramkey"></td>
  1498. <td></td>
  1499. <td class="paramtype">int&#160;</td>
  1500. <td class="paramname"><em>deviceId</em> = <code>0</code>&#160;</td>
  1501. </tr>
  1502. <tr>
  1503. <td></td>
  1504. <td>)</td>
  1505. <td></td><td></td>
  1506. </tr>
  1507. </table>
  1508. </td>
  1509. <td class="mlabels-right">
  1510. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  1511. </tr>
  1512. </table>
  1513. </div><div class="memdoc">
  1514. <p>Initializes an image. If copy is true, this allocates a new buffer of given size and fills image contents with provided data (copies it). If copy is false (which is default) this will just reference the provided data. </p>
  1515. <dl class="params"><dt>Parameters</dt><dd>
  1516. <table class="params">
  1517. <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>image width. </td></tr>
  1518. <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>image height. </td></tr>
  1519. <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>image format. </td></tr>
  1520. <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>image data. </td></tr>
  1521. <tr><td class="paramdir">[in]</td><td class="paramname">copy</td><td>whether to copy or reference data </td></tr>
  1522. <tr><td class="paramdir">[in]</td><td class="paramname">memory</td><td>residence of a data pointer. </td></tr>
  1523. <tr><td class="paramdir">[in]</td><td class="paramname">deviceId</td><td>index of a device where data pointer was allocated </td></tr>
  1524. </table>
  1525. </dd>
  1526. </dl>
  1527. <dl class="section note"><dt>Note</dt><dd>deviceId is ignored for residence = <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993" title="Image in Host device memory. ">MemoryResidence::MemoryCPU</a> </dd>
  1528. <dd>
  1529. output image will have memory residence of the provided data pointer. </dd>
  1530. <dd>
  1531. if memory allocation fails, no exception is thrown; function call results in empty image. </dd></dl>
  1532. <dl class="section return"><dt>Returns</dt><dd>true in case of success, false otherwise. </dd></dl>
  1533. </div>
  1534. </div>
  1535. <a class="anchor" id="aeb3e38807e56a77419a073eea1e6d2ec"></a>
  1536. <div class="memitem">
  1537. <div class="memproto">
  1538. <table class="mlabels">
  1539. <tr>
  1540. <td class="mlabels-left">
  1541. <table class="memname">
  1542. <tr>
  1543. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt;<a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a>&gt; fsdk::Image::create </td>
  1544. <td>(</td>
  1545. <td class="paramtype">const <a class="el" href="structfsdk_1_1_image.html">fsdk::Image</a> &amp;&#160;</td>
  1546. <td class="paramname"><em>source</em>, </td>
  1547. </tr>
  1548. <tr>
  1549. <td class="paramkey"></td>
  1550. <td></td>
  1551. <td class="paramtype"><a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07">MemoryResidence</a>&#160;</td>
  1552. <td class="paramname"><em>residence</em>, </td>
  1553. </tr>
  1554. <tr>
  1555. <td class="paramkey"></td>
  1556. <td></td>
  1557. <td class="paramtype">int&#160;</td>
  1558. <td class="paramname"><em>deviceId</em> = <code>0</code>&#160;</td>
  1559. </tr>
  1560. <tr>
  1561. <td></td>
  1562. <td>)</td>
  1563. <td></td><td></td>
  1564. </tr>
  1565. </table>
  1566. </td>
  1567. <td class="mlabels-right">
  1568. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  1569. </tr>
  1570. </table>
  1571. </div><div class="memdoc">
  1572. <p>Creates image with given memory residence based on other image instance. If source image has another MemoryResidence or device id, all memory will be copied to the new residence. In the other case new instance will be just a reference for the source. </p>
  1573. <dl class="params"><dt>Parameters</dt><dd>
  1574. <table class="params">
  1575. <tr><td class="paramdir">[in]</td><td class="paramname">image</td><td>instance to create copy for </td></tr>
  1576. <tr><td class="paramdir">[in]</td><td class="paramname">residence</td><td>memory residence for the target image </td></tr>
  1577. <tr><td class="paramdir">[in]</td><td class="paramname">deviceId</td><td>index of a device for the target image </td></tr>
  1578. </table>
  1579. </dd>
  1580. </dl>
  1581. <dl class="section note"><dt>Note</dt><dd>deviceId is ignored for residence = <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993" title="Image in Host device memory. ">MemoryResidence::MemoryCPU</a> </dd></dl>
  1582. <dl class="section return"><dt>Returns</dt><dd>true in case of success, false otherwise. </dd></dl>
  1583. </div>
  1584. </div>
  1585. <a class="anchor" id="a750cb313b381b4245a1e51e34b18ae44"></a>
  1586. <div class="memitem">
  1587. <div class="memproto">
  1588. <table class="mlabels">
  1589. <tr>
  1590. <td class="mlabels-left">
  1591. <table class="memname">
  1592. <tr>
  1593. <td class="memname">static <a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> void fsdk::Image::deallocate </td>
  1594. <td>(</td>
  1595. <td class="paramtype">void *&#160;</td>
  1596. <td class="paramname"><em>memory</em></td><td>)</td>
  1597. <td></td>
  1598. </tr>
  1599. </table>
  1600. </td>
  1601. <td class="mlabels-right">
  1602. <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span><span class="mlabel">noexcept</span></span> </td>
  1603. </tr>
  1604. </table>
  1605. </div><div class="memdoc">
  1606. <p>Free memory. </p>
  1607. <dl class="params"><dt>Parameters</dt><dd>
  1608. <table class="params">
  1609. <tr><td class="paramdir">[in]</td><td class="paramname">memory</td><td>memory region pointer. </td></tr>
  1610. </table>
  1611. </dd>
  1612. </dl>
  1613. </div>
  1614. </div>
  1615. <a class="anchor" id="a22f36f59a67cc867a96686dcf18b8f6d"></a>
  1616. <div class="memitem">
  1617. <div class="memproto">
  1618. <table class="mlabels">
  1619. <tr>
  1620. <td class="mlabels-left">
  1621. <table class="memname">
  1622. <tr>
  1623. <td class="memname">bool fsdk::Image::equalStrong </td>
  1624. <td>(</td>
  1625. <td class="paramtype">const <a class="el" href="structfsdk_1_1_image.html">fsdk::Image</a> &amp;&#160;</td>
  1626. <td class="paramname"><em>other</em></td><td>)</td>
  1627. <td></td>
  1628. </tr>
  1629. </table>
  1630. </td>
  1631. <td class="mlabels-right">
  1632. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  1633. </tr>
  1634. </table>
  1635. </div><div class="memdoc">
  1636. <p>Performs strong comparison of this image with other. Beside weak comparison strong comparison also checks whether two images point to the same block of pixels. </p>
  1637. <dl class="section see"><dt>See Also</dt><dd><a class="el" href="structfsdk_1_1_image.html#a386e2313d25f5f3107e1a47a347e04d8" title="Performs weak comparison of this image with other. Weak in this context means only image parameters s...">equalWeak()</a>. </dd></dl>
  1638. </div>
  1639. </div>
  1640. <a class="anchor" id="add9bb121cb86eb35e669b6321a267926"></a>
  1641. <div class="memitem">
  1642. <div class="memproto">
  1643. <table class="mlabels">
  1644. <tr>
  1645. <td class="mlabels-left">
  1646. <table class="memname">
  1647. <tr>
  1648. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_image.html">Image</a> fsdk::Image::extract </td>
  1649. <td>(</td>
  1650. <td class="paramtype">int&#160;</td>
  1651. <td class="paramname"><em>x</em>, </td>
  1652. </tr>
  1653. <tr>
  1654. <td class="paramkey"></td>
  1655. <td></td>
  1656. <td class="paramtype">int&#160;</td>
  1657. <td class="paramname"><em>y</em>, </td>
  1658. </tr>
  1659. <tr>
  1660. <td class="paramkey"></td>
  1661. <td></td>
  1662. <td class="paramtype">int&#160;</td>
  1663. <td class="paramname"><em>width</em>, </td>
  1664. </tr>
  1665. <tr>
  1666. <td class="paramkey"></td>
  1667. <td></td>
  1668. <td class="paramtype">int&#160;</td>
  1669. <td class="paramname"><em>height</em>&#160;</td>
  1670. </tr>
  1671. <tr>
  1672. <td></td>
  1673. <td>)</td>
  1674. <td></td><td> const</td>
  1675. </tr>
  1676. </table>
  1677. </td>
  1678. <td class="mlabels-right">
  1679. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  1680. </tr>
  1681. </table>
  1682. </div><div class="memdoc">
  1683. <p>Extract a sub image of this image. The new image will have it's own reference count. </p>
  1684. <dl class="params"><dt>Parameters</dt><dd>
  1685. <table class="params">
  1686. <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>horisontal coordinate of top left corner of image rect to extract. </td></tr>
  1687. <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>vertical coordinate of top left corner of image rect to extract. </td></tr>
  1688. <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>width of image rect to extract. </td></tr>
  1689. <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>height of image rect to extract. </td></tr>
  1690. </table>
  1691. </dd>
  1692. </dl>
  1693. <dl class="section return"><dt>Returns</dt><dd>new image with copied data. </dd></dl>
  1694. <dl class="section note"><dt>Note</dt><dd>empty image returned in case of an memory allocation error. </dd>
  1695. <dd>
  1696. Memory residence must be <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993" title="Image in Host device memory. ">MemoryResidence::MemoryCPU</a>. </dd></dl>
  1697. </div>
  1698. </div>
  1699. <a class="anchor" id="a3f9f9c61324959b028b645b0a873ae21"></a>
  1700. <div class="memitem">
  1701. <div class="memproto">
  1702. <table class="mlabels">
  1703. <tr>
  1704. <td class="mlabels-left">
  1705. <table class="memname">
  1706. <tr>
  1707. <td class="memname"><a class="el" href="structfsdk_1_1_image.html">Image</a> fsdk::Image::extract </td>
  1708. <td>(</td>
  1709. <td class="paramtype">const <a class="el" href="structfsdk_1_1_base_rect.html">Rect</a> &amp;&#160;</td>
  1710. <td class="paramname"><em>rect</em></td><td>)</td>
  1711. <td> const</td>
  1712. </tr>
  1713. </table>
  1714. </td>
  1715. <td class="mlabels-right">
  1716. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  1717. </tr>
  1718. </table>
  1719. </div><div class="memdoc">
  1720. <p>Extract a sub image of this image. The new image will have it's own reference count. </p>
  1721. <dl class="params"><dt>Parameters</dt><dd>
  1722. <table class="params">
  1723. <tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>image rect to extract. </td></tr>
  1724. </table>
  1725. </dd>
  1726. </dl>
  1727. <dl class="section return"><dt>Returns</dt><dd>new image with copied data. </dd></dl>
  1728. <dl class="section note"><dt>Note</dt><dd>empty image returned in case of an memory allocation error. </dd>
  1729. <dd>
  1730. Memory residence must be <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993" title="Image in Host device memory. ">MemoryResidence::MemoryCPU</a>. </dd></dl>
  1731. </div>
  1732. </div>
  1733. <a class="anchor" id="a4cd2e1c9c500087bcfb65f750cef09e4"></a>
  1734. <div class="memitem">
  1735. <div class="memproto">
  1736. <table class="mlabels">
  1737. <tr>
  1738. <td class="mlabels-left">
  1739. <table class="memname">
  1740. <tr>
  1741. <td class="memname"><a class="el" href="structfsdk_1_1_image.html">Image</a> fsdk::Image::extract </td>
  1742. <td>(</td>
  1743. <td class="paramtype">const <a class="el" href="namespacefsdk.html#a77eb62991e30a65164c055b3e518defd">Size</a> &amp;&#160;</td>
  1744. <td class="paramname"><em>size</em></td><td>)</td>
  1745. <td> const</td>
  1746. </tr>
  1747. </table>
  1748. </td>
  1749. <td class="mlabels-right">
  1750. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  1751. </tr>
  1752. </table>
  1753. </div><div class="memdoc">
  1754. <p>Extract a sub image of this image. The new image will have it's own reference count. </p>
  1755. <dl class="section note"><dt>Note</dt><dd>new image origin is assumed at the top-left corner of the existing one. </dd></dl>
  1756. <dl class="params"><dt>Parameters</dt><dd>
  1757. <table class="params">
  1758. <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>image size to extract. </td></tr>
  1759. </table>
  1760. </dd>
  1761. </dl>
  1762. <dl class="section return"><dt>Returns</dt><dd>new image with copied data. </dd></dl>
  1763. <dl class="section note"><dt>Note</dt><dd>empty image returned in case of an memory allocation error. </dd>
  1764. <dd>
  1765. Memory residence must be <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993" title="Image in Host device memory. ">MemoryResidence::MemoryCPU</a>. </dd></dl>
  1766. </div>
  1767. </div>
  1768. <a class="anchor" id="a01e37e8244745a1645c7f44356c98cfa"></a>
  1769. <div class="memitem">
  1770. <div class="memproto">
  1771. <table class="mlabels">
  1772. <tr>
  1773. <td class="mlabels-left">
  1774. <table class="memname">
  1775. <tr>
  1776. <td class="memname"><a class="el" href="structfsdk_1_1_image.html">Image</a> fsdk::Image::extract </td>
  1777. <td>(</td>
  1778. <td class="paramtype">const <a class="el" href="namespacefsdk.html#abc92bf6fd92f16b2d9c8e78a85838bcd">Point2i</a> &amp;&#160;</td>
  1779. <td class="paramname"><em>origin</em>, </td>
  1780. </tr>
  1781. <tr>
  1782. <td class="paramkey"></td>
  1783. <td></td>
  1784. <td class="paramtype">const <a class="el" href="namespacefsdk.html#a77eb62991e30a65164c055b3e518defd">Size</a> &amp;&#160;</td>
  1785. <td class="paramname"><em>size</em>&#160;</td>
  1786. </tr>
  1787. <tr>
  1788. <td></td>
  1789. <td>)</td>
  1790. <td></td><td> const</td>
  1791. </tr>
  1792. </table>
  1793. </td>
  1794. <td class="mlabels-right">
  1795. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  1796. </tr>
  1797. </table>
  1798. </div><div class="memdoc">
  1799. <p>Extract a sub image of this image. The new image will have it's own reference count. </p>
  1800. <dl class="params"><dt>Parameters</dt><dd>
  1801. <table class="params">
  1802. <tr><td class="paramdir">[in]</td><td class="paramname">origin</td><td>extracted image origin. </td></tr>
  1803. <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>image size to extract. </td></tr>
  1804. </table>
  1805. </dd>
  1806. </dl>
  1807. <dl class="section return"><dt>Returns</dt><dd>new image with copied data. </dd></dl>
  1808. <dl class="section note"><dt>Note</dt><dd>empty image returned in case of an memory allocation error. </dd>
  1809. <dd>
  1810. Memory residence must be <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993" title="Image in Host device memory. ">MemoryResidence::MemoryCPU</a>. </dd></dl>
  1811. </div>
  1812. </div>
  1813. <a class="anchor" id="a28a2f942184d21b0e4270c30adef7916"></a>
  1814. <div class="memitem">
  1815. <div class="memproto">
  1816. <table class="mlabels">
  1817. <tr>
  1818. <td class="mlabels-left">
  1819. <table class="memname">
  1820. <tr>
  1821. <td class="memname">float fsdk::Image::getAspectRatio </td>
  1822. <td>(</td>
  1823. <td class="paramname"></td><td>)</td>
  1824. <td> const</td>
  1825. </tr>
  1826. </table>
  1827. </td>
  1828. <td class="mlabels-right">
  1829. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  1830. </tr>
  1831. </table>
  1832. </div><div class="memdoc">
  1833. <dl class="section return"><dt>Returns</dt><dd>image aspect ratio (width to height). </dd></dl>
  1834. </div>
  1835. </div>
  1836. <a class="anchor" id="a177197485010936725923806ed693187"></a>
  1837. <div class="memitem">
  1838. <div class="memproto">
  1839. <table class="mlabels">
  1840. <tr>
  1841. <td class="mlabels-left">
  1842. <table class="memname">
  1843. <tr>
  1844. <td class="memname">void* fsdk::Image::getData </td>
  1845. <td>(</td>
  1846. <td class="paramname"></td><td>)</td>
  1847. <td></td>
  1848. </tr>
  1849. </table>
  1850. </td>
  1851. <td class="mlabels-right">
  1852. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  1853. </tr>
  1854. </table>
  1855. </div><div class="memdoc">
  1856. <dl class="section return"><dt>Returns</dt><dd>pointer to raw image data. </dd></dl>
  1857. </div>
  1858. </div>
  1859. <a class="anchor" id="adb87ac4315e08d3474b87dd1819748d5"></a>
  1860. <div class="memitem">
  1861. <div class="memproto">
  1862. <table class="mlabels">
  1863. <tr>
  1864. <td class="mlabels-left">
  1865. <table class="memname">
  1866. <tr>
  1867. <td class="memname">const void* fsdk::Image::getData </td>
  1868. <td>(</td>
  1869. <td class="paramname"></td><td>)</td>
  1870. <td> const</td>
  1871. </tr>
  1872. </table>
  1873. </td>
  1874. <td class="mlabels-right">
  1875. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  1876. </tr>
  1877. </table>
  1878. </div><div class="memdoc">
  1879. <dl class="section return"><dt>Returns</dt><dd>pointer to raw image data. </dd></dl>
  1880. </div>
  1881. </div>
  1882. <a class="anchor" id="ab0f6a417fa00693acfc22af05fdaddaf"></a>
  1883. <div class="memitem">
  1884. <div class="memproto">
  1885. <div class="memtemplate">
  1886. template&lt;typename T &gt; </div>
  1887. <table class="mlabels">
  1888. <tr>
  1889. <td class="mlabels-left">
  1890. <table class="memname">
  1891. <tr>
  1892. <td class="memname">T* fsdk::Image::getDataAs </td>
  1893. <td>(</td>
  1894. <td class="paramname"></td><td>)</td>
  1895. <td></td>
  1896. </tr>
  1897. </table>
  1898. </td>
  1899. <td class="mlabels-right">
  1900. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  1901. </tr>
  1902. </table>
  1903. </div><div class="memdoc">
  1904. <dl class="section return"><dt>Returns</dt><dd>pointer to image data cast to a given type. </dd></dl>
  1905. </div>
  1906. </div>
  1907. <a class="anchor" id="a2ffa58c82ae839a8804721def179ccb6"></a>
  1908. <div class="memitem">
  1909. <div class="memproto">
  1910. <div class="memtemplate">
  1911. template&lt;typename T &gt; </div>
  1912. <table class="mlabels">
  1913. <tr>
  1914. <td class="mlabels-left">
  1915. <table class="memname">
  1916. <tr>
  1917. <td class="memname">const T* fsdk::Image::getDataAs </td>
  1918. <td>(</td>
  1919. <td class="paramname"></td><td>)</td>
  1920. <td> const</td>
  1921. </tr>
  1922. </table>
  1923. </td>
  1924. <td class="mlabels-right">
  1925. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  1926. </tr>
  1927. </table>
  1928. </div><div class="memdoc">
  1929. <dl class="section return"><dt>Returns</dt><dd>pointer to image data cast to a given type. </dd></dl>
  1930. </div>
  1931. </div>
  1932. <a class="anchor" id="ad7702083887209a2c4e188b500215e96"></a>
  1933. <div class="memitem">
  1934. <div class="memproto">
  1935. <table class="mlabels">
  1936. <tr>
  1937. <td class="mlabels-left">
  1938. <table class="memname">
  1939. <tr>
  1940. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> int fsdk::Image::getDataSize </td>
  1941. <td>(</td>
  1942. <td class="paramname"></td><td>)</td>
  1943. <td> const</td>
  1944. </tr>
  1945. </table>
  1946. </td>
  1947. <td class="mlabels-right">
  1948. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  1949. </tr>
  1950. </table>
  1951. </div><div class="memdoc">
  1952. <dl class="section return"><dt>Returns</dt><dd>actual image size in bytes. </dd></dl>
  1953. </div>
  1954. </div>
  1955. <a class="anchor" id="a494e5a70e35f8a9965c9c655faf71694"></a>
  1956. <div class="memitem">
  1957. <div class="memproto">
  1958. <table class="mlabels">
  1959. <tr>
  1960. <td class="mlabels-left">
  1961. <table class="memname">
  1962. <tr>
  1963. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> void fsdk::Image::getDataSize </td>
  1964. <td>(</td>
  1965. <td class="paramtype"><a class="el" href="structfsdk_1_1_sizer.html">Sizer</a> &amp;&#160;</td>
  1966. <td class="paramname"><em>sizer</em></td><td>)</td>
  1967. <td> const</td>
  1968. </tr>
  1969. </table>
  1970. </td>
  1971. <td class="mlabels-right">
  1972. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  1973. </tr>
  1974. </table>
  1975. </div><div class="memdoc">
  1976. <p>Get actual image size in bytes. </p>
  1977. <dl class="params"><dt>Parameters</dt><dd>
  1978. <table class="params">
  1979. <tr><td class="paramdir">[in,out]</td><td class="paramname">sizer</td><td>sizer to append result to. </td></tr>
  1980. </table>
  1981. </dd>
  1982. </dl>
  1983. </div>
  1984. </div>
  1985. <a class="anchor" id="a3a096c49b65cb9b3ddc864a1fe0bbc5f"></a>
  1986. <div class="memitem">
  1987. <div class="memproto">
  1988. <table class="mlabels">
  1989. <tr>
  1990. <td class="mlabels-left">
  1991. <table class="memname">
  1992. <tr>
  1993. <td class="memname"><a class="el" href="structfsdk_1_1_format.html">Format</a> fsdk::Image::getFormat </td>
  1994. <td>(</td>
  1995. <td class="paramname"></td><td>)</td>
  1996. <td> const</td>
  1997. </tr>
  1998. </table>
  1999. </td>
  2000. <td class="mlabels-right">
  2001. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  2002. </tr>
  2003. </table>
  2004. </div><div class="memdoc">
  2005. <dl class="section return"><dt>Returns</dt><dd>image format. </dd></dl>
  2006. </div>
  2007. </div>
  2008. <a class="anchor" id="ad5823d56f2b75a94424adef45c9d23c2"></a>
  2009. <div class="memitem">
  2010. <div class="memproto">
  2011. <table class="mlabels">
  2012. <tr>
  2013. <td class="mlabels-left">
  2014. <table class="memname">
  2015. <tr>
  2016. <td class="memname">int fsdk::Image::getHeight </td>
  2017. <td>(</td>
  2018. <td class="paramname"></td><td>)</td>
  2019. <td> const</td>
  2020. </tr>
  2021. </table>
  2022. </td>
  2023. <td class="mlabels-right">
  2024. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  2025. </tr>
  2026. </table>
  2027. </div><div class="memdoc">
  2028. <dl class="section return"><dt>Returns</dt><dd>image height. </dd></dl>
  2029. </div>
  2030. </div>
  2031. <a class="anchor" id="a5841db4b37f8e3f633f9ee31e29e28b6"></a>
  2032. <div class="memitem">
  2033. <div class="memproto">
  2034. <table class="mlabels">
  2035. <tr>
  2036. <td class="mlabels-left">
  2037. <table class="memname">
  2038. <tr>
  2039. <td class="memname"><a class="el" href="structfsdk_1_1_base_rect.html">Rect</a> fsdk::Image::getRect </td>
  2040. <td>(</td>
  2041. <td class="paramname"></td><td>)</td>
  2042. <td> const</td>
  2043. </tr>
  2044. </table>
  2045. </td>
  2046. <td class="mlabels-right">
  2047. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  2048. </tr>
  2049. </table>
  2050. </div><div class="memdoc">
  2051. <dl class="section return"><dt>Returns</dt><dd>image rectangle. </dd></dl>
  2052. <dl class="section note"><dt>Note</dt><dd>resulting rectangle top left corner is lways at (0, 0). </dd></dl>
  2053. </div>
  2054. </div>
  2055. <a class="anchor" id="a48773dce5d77377aa6415084ff2a612f"></a>
  2056. <div class="memitem">
  2057. <div class="memproto">
  2058. <table class="mlabels">
  2059. <tr>
  2060. <td class="mlabels-left">
  2061. <table class="memname">
  2062. <tr>
  2063. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> int fsdk::Image::getRefCount </td>
  2064. <td>(</td>
  2065. <td class="paramname"></td><td>)</td>
  2066. <td> const</td>
  2067. </tr>
  2068. </table>
  2069. </td>
  2070. <td class="mlabels-right">
  2071. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">noexcept</span></span> </td>
  2072. </tr>
  2073. </table>
  2074. </div><div class="memdoc">
  2075. <p>Obtain reference count. </p>
  2076. <dl class="section return"><dt>Returns</dt><dd>Current reference count. </dd></dl>
  2077. </div>
  2078. </div>
  2079. <a class="anchor" id="a02d33587be44369699ff0c77bf918f7e"></a>
  2080. <div class="memitem">
  2081. <div class="memproto">
  2082. <table class="mlabels">
  2083. <tr>
  2084. <td class="mlabels-left">
  2085. <table class="memname">
  2086. <tr>
  2087. <td class="memname">int fsdk::Image::getRowSize </td>
  2088. <td>(</td>
  2089. <td class="paramname"></td><td>)</td>
  2090. <td> const</td>
  2091. </tr>
  2092. </table>
  2093. </td>
  2094. <td class="mlabels-right">
  2095. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  2096. </tr>
  2097. </table>
  2098. </div><div class="memdoc">
  2099. <dl class="section return"><dt>Returns</dt><dd>size of image pixel row in bytes. </dd></dl>
  2100. </div>
  2101. </div>
  2102. <a class="anchor" id="a81b837c8ebacc00461ced25cc6299176"></a>
  2103. <div class="memitem">
  2104. <div class="memproto">
  2105. <table class="mlabels">
  2106. <tr>
  2107. <td class="mlabels-left">
  2108. <table class="memname">
  2109. <tr>
  2110. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> void* fsdk::Image::getScanLine </td>
  2111. <td>(</td>
  2112. <td class="paramtype">int&#160;</td>
  2113. <td class="paramname"><em>y</em></td><td>)</td>
  2114. <td></td>
  2115. </tr>
  2116. </table>
  2117. </td>
  2118. <td class="mlabels-right">
  2119. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  2120. </tr>
  2121. </table>
  2122. </div><div class="memdoc">
  2123. <p>Get image scanline data. </p>
  2124. <dl class="params"><dt>Parameters</dt><dd>
  2125. <table class="params">
  2126. <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>scanline number. </td></tr>
  2127. </table>
  2128. </dd>
  2129. </dl>
  2130. <dl class="section return"><dt>Returns</dt><dd>pointer to raw data. </dd></dl>
  2131. </div>
  2132. </div>
  2133. <a class="anchor" id="aaf7e663816bd542c1f80d42e29c22014"></a>
  2134. <div class="memitem">
  2135. <div class="memproto">
  2136. <table class="mlabels">
  2137. <tr>
  2138. <td class="mlabels-left">
  2139. <table class="memname">
  2140. <tr>
  2141. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> const void* fsdk::Image::getScanLine </td>
  2142. <td>(</td>
  2143. <td class="paramtype">int&#160;</td>
  2144. <td class="paramname"><em>y</em></td><td>)</td>
  2145. <td> const</td>
  2146. </tr>
  2147. </table>
  2148. </td>
  2149. <td class="mlabels-right">
  2150. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  2151. </tr>
  2152. </table>
  2153. </div><div class="memdoc">
  2154. <p>Get image scanline data. </p>
  2155. <dl class="params"><dt>Parameters</dt><dd>
  2156. <table class="params">
  2157. <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>scanline number. </td></tr>
  2158. </table>
  2159. </dd>
  2160. </dl>
  2161. <dl class="section return"><dt>Returns</dt><dd>pointer to raw data. </dd></dl>
  2162. </div>
  2163. </div>
  2164. <a class="anchor" id="afb6c77133c3cbe2f5f7825286096ec46"></a>
  2165. <div class="memitem">
  2166. <div class="memproto">
  2167. <div class="memtemplate">
  2168. template&lt;typename T &gt; </div>
  2169. <table class="mlabels">
  2170. <tr>
  2171. <td class="mlabels-left">
  2172. <table class="memname">
  2173. <tr>
  2174. <td class="memname">T* fsdk::Image::getScanLineAs </td>
  2175. <td>(</td>
  2176. <td class="paramtype">int&#160;</td>
  2177. <td class="paramname"><em>y</em></td><td>)</td>
  2178. <td></td>
  2179. </tr>
  2180. </table>
  2181. </td>
  2182. <td class="mlabels-right">
  2183. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  2184. </tr>
  2185. </table>
  2186. </div><div class="memdoc">
  2187. <p>Get image scanline data. </p>
  2188. <dl class="params"><dt>Parameters</dt><dd>
  2189. <table class="params">
  2190. <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>scanline number. </td></tr>
  2191. </table>
  2192. </dd>
  2193. </dl>
  2194. <dl class="section return"><dt>Returns</dt><dd>pointer image data cast to a given type. </dd></dl>
  2195. </div>
  2196. </div>
  2197. <a class="anchor" id="adb2d3b84e0b3c81a8f1528e884fa655a"></a>
  2198. <div class="memitem">
  2199. <div class="memproto">
  2200. <div class="memtemplate">
  2201. template&lt;typename T &gt; </div>
  2202. <table class="mlabels">
  2203. <tr>
  2204. <td class="mlabels-left">
  2205. <table class="memname">
  2206. <tr>
  2207. <td class="memname">const T* fsdk::Image::getScanLineAs </td>
  2208. <td>(</td>
  2209. <td class="paramtype">int&#160;</td>
  2210. <td class="paramname"><em>y</em></td><td>)</td>
  2211. <td> const</td>
  2212. </tr>
  2213. </table>
  2214. </td>
  2215. <td class="mlabels-right">
  2216. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  2217. </tr>
  2218. </table>
  2219. </div><div class="memdoc">
  2220. <p>Get image scanline data. </p>
  2221. <dl class="params"><dt>Parameters</dt><dd>
  2222. <table class="params">
  2223. <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>scanline number. </td></tr>
  2224. </table>
  2225. </dd>
  2226. </dl>
  2227. <dl class="section return"><dt>Returns</dt><dd>pointer image data cast to a given type. </dd></dl>
  2228. </div>
  2229. </div>
  2230. <a class="anchor" id="ac38de3f8f7136d3011bc49b399efcd5a"></a>
  2231. <div class="memitem">
  2232. <div class="memproto">
  2233. <table class="mlabels">
  2234. <tr>
  2235. <td class="mlabels-left">
  2236. <table class="memname">
  2237. <tr>
  2238. <td class="memname"><a class="el" href="namespacefsdk.html#a77eb62991e30a65164c055b3e518defd">Size</a> fsdk::Image::getSize </td>
  2239. <td>(</td>
  2240. <td class="paramname"></td><td>)</td>
  2241. <td> const</td>
  2242. </tr>
  2243. </table>
  2244. </td>
  2245. <td class="mlabels-right">
  2246. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  2247. </tr>
  2248. </table>
  2249. </div><div class="memdoc">
  2250. <dl class="section return"><dt>Returns</dt><dd>image size. </dd></dl>
  2251. </div>
  2252. </div>
  2253. <a class="anchor" id="a6cb445da4dc6f7949c992f6bdcd6787f"></a>
  2254. <div class="memitem">
  2255. <div class="memproto">
  2256. <table class="mlabels">
  2257. <tr>
  2258. <td class="mlabels-left">
  2259. <table class="memname">
  2260. <tr>
  2261. <td class="memname">int fsdk::Image::getWidth </td>
  2262. <td>(</td>
  2263. <td class="paramname"></td><td>)</td>
  2264. <td> const</td>
  2265. </tr>
  2266. </table>
  2267. </td>
  2268. <td class="mlabels-right">
  2269. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  2270. </tr>
  2271. </table>
  2272. </div><div class="memdoc">
  2273. <dl class="section return"><dt>Returns</dt><dd>image width. </dd></dl>
  2274. </div>
  2275. </div>
  2276. <a class="anchor" id="a9f2d12403ad91ca275de2259da560d05"></a>
  2277. <div class="memitem">
  2278. <div class="memproto">
  2279. <table class="mlabels">
  2280. <tr>
  2281. <td class="mlabels-left">
  2282. <table class="memname">
  2283. <tr>
  2284. <td class="memname">static <a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt;<a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a>&gt; fsdk::Image::guessTypeFromMemory </td>
  2285. <td>(</td>
  2286. <td class="paramtype">const void *&#160;</td>
  2287. <td class="paramname"><em>data</em>, </td>
  2288. </tr>
  2289. <tr>
  2290. <td class="paramkey"></td>
  2291. <td></td>
  2292. <td class="paramtype">const uint32_t&#160;</td>
  2293. <td class="paramname"><em>sizeInBytes</em>, </td>
  2294. </tr>
  2295. <tr>
  2296. <td class="paramkey"></td>
  2297. <td></td>
  2298. <td class="paramtype"><a class="el" href="structfsdk_1_1_image.html#ad7383fff1a8c54a0b2153ea475b607b7">Type</a> &amp;&#160;</td>
  2299. <td class="paramname"><em>type</em>&#160;</td>
  2300. </tr>
  2301. <tr>
  2302. <td></td>
  2303. <td>)</td>
  2304. <td></td><td></td>
  2305. </tr>
  2306. </table>
  2307. </td>
  2308. <td class="mlabels-right">
  2309. <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
  2310. </tr>
  2311. </table>
  2312. </div><div class="memdoc">
  2313. <p>Guess type of image written into memory. </p>
  2314. <dl class="params"><dt>Parameters</dt><dd>
  2315. <table class="params">
  2316. <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>Pointer to memory containing image. </td></tr>
  2317. <tr><td class="paramdir">[in]</td><td class="paramname">sizeInBytes</td><td>Count of bytes containing image pointed to by data. </td></tr>
  2318. <tr><td class="paramdir">[out]</td><td class="paramname">type</td><td>Type of passed image. </td></tr>
  2319. </table>
  2320. </dd>
  2321. </dl>
  2322. <dl class="section return"><dt>Returns</dt><dd>true if success, false if some error occured. </dd></dl>
  2323. <dl class="section note"><dt>Note</dt><dd>Unknown type of image is not an error. </dd></dl>
  2324. </div>
  2325. </div>
  2326. <a class="anchor" id="a935733a13b5a2d62758f63a0fa2580e9"></a>
  2327. <div class="memitem">
  2328. <div class="memproto">
  2329. <table class="mlabels">
  2330. <tr>
  2331. <td class="mlabels-left">
  2332. <table class="memname">
  2333. <tr>
  2334. <td class="memname">bool fsdk::Image::isNull </td>
  2335. <td>(</td>
  2336. <td class="paramname"></td><td>)</td>
  2337. <td> const</td>
  2338. </tr>
  2339. </table>
  2340. </td>
  2341. <td class="mlabels-right">
  2342. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  2343. </tr>
  2344. </table>
  2345. </div><div class="memdoc">
  2346. <dl class="section return"><dt>Returns</dt><dd>true if image data is not allocated. </dd></dl>
  2347. </div>
  2348. </div>
  2349. <a class="anchor" id="a33771e3d4141977d08be1302020ff6cd"></a>
  2350. <div class="memitem">
  2351. <div class="memproto">
  2352. <table class="mlabels">
  2353. <tr>
  2354. <td class="mlabels-left">
  2355. <table class="memname">
  2356. <tr>
  2357. <td class="memname">bool fsdk::Image::isSharedWith </td>
  2358. <td>(</td>
  2359. <td class="paramtype">const <a class="el" href="structfsdk_1_1_image.html">Image</a> &amp;&#160;</td>
  2360. <td class="paramname"><em>other</em></td><td>)</td>
  2361. <td> const</td>
  2362. </tr>
  2363. </table>
  2364. </td>
  2365. <td class="mlabels-right">
  2366. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  2367. </tr>
  2368. </table>
  2369. </div><div class="memdoc">
  2370. <dl class="section return"><dt>Returns</dt><dd>true if this image shares the same memory chunk for it's data as the other one. </dd></dl>
  2371. <dl class="params"><dt>Parameters</dt><dd>
  2372. <table class="params">
  2373. <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>other image to check againts. </td></tr>
  2374. </table>
  2375. </dd>
  2376. </dl>
  2377. </div>
  2378. </div>
  2379. <a class="anchor" id="a42bb8bc044a084b7779760c20701fa0d"></a>
  2380. <div class="memitem">
  2381. <div class="memproto">
  2382. <table class="mlabels">
  2383. <tr>
  2384. <td class="mlabels-left">
  2385. <table class="memname">
  2386. <tr>
  2387. <td class="memname">bool fsdk::Image::isValid </td>
  2388. <td>(</td>
  2389. <td class="paramname"></td><td>)</td>
  2390. <td> const</td>
  2391. </tr>
  2392. </table>
  2393. </td>
  2394. <td class="mlabels-right">
  2395. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  2396. </tr>
  2397. </table>
  2398. </div><div class="memdoc">
  2399. <dl class="section return"><dt>Returns</dt><dd>true if image is not null and has valid dimenstions and format. </dd></dl>
  2400. <dl class="section see"><dt>See Also</dt><dd><a class="el" href="structfsdk_1_1_image.html#a935733a13b5a2d62758f63a0fa2580e9">isNull</a>. </dd></dl>
  2401. </div>
  2402. </div>
  2403. <a class="anchor" id="a8f17c7659871533d5eed712b3967944b"></a>
  2404. <div class="memitem">
  2405. <div class="memproto">
  2406. <table class="mlabels">
  2407. <tr>
  2408. <td class="mlabels-left">
  2409. <table class="memname">
  2410. <tr>
  2411. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt;<a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a>&gt; fsdk::Image::load </td>
  2412. <td>(</td>
  2413. <td class="paramtype">const char *&#160;</td>
  2414. <td class="paramname"><em>path</em></td><td>)</td>
  2415. <td></td>
  2416. </tr>
  2417. </table>
  2418. </td>
  2419. <td class="mlabels-right">
  2420. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  2421. </tr>
  2422. </table>
  2423. </div><div class="memdoc">
  2424. <p>Load image from file. </p>
  2425. <p>This function loads image contents from disk. Supported types are: bmp, png, ppm, jpeg, tiff. If image is not empty, it's content will be freed and memory will be reallocated to fit in the data from the file if:</p>
  2426. <ul>
  2427. <li>the file can be opened</li>
  2428. <li>the file is of supported format <dl class="params"><dt>Parameters</dt><dd>
  2429. <table class="params">
  2430. <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>Input file path. </td></tr>
  2431. </table>
  2432. </dd>
  2433. </dl>
  2434. <dl class="section return"><dt>Returns</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> with error code specified by <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  2435. <dl class="section see"><dt>See Also</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> and <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  2436. <dl class="section note"><dt>Note</dt><dd>Memory residence must be <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993" title="Image in Host device memory. ">MemoryResidence::MemoryCPU</a>. </dd></dl>
  2437. </li>
  2438. </ul>
  2439. </div>
  2440. </div>
  2441. <a class="anchor" id="a50d05981de264e977f4fbd90990f084a"></a>
  2442. <div class="memitem">
  2443. <div class="memproto">
  2444. <table class="mlabels">
  2445. <tr>
  2446. <td class="mlabels-left">
  2447. <table class="memname">
  2448. <tr>
  2449. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt;<a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a>&gt; fsdk::Image::load </td>
  2450. <td>(</td>
  2451. <td class="paramtype">const char *&#160;</td>
  2452. <td class="paramname"><em>path</em>, </td>
  2453. </tr>
  2454. <tr>
  2455. <td class="paramkey"></td>
  2456. <td></td>
  2457. <td class="paramtype">const <a class="el" href="structfsdk_1_1_format.html">Format</a>&#160;</td>
  2458. <td class="paramname"><em>format</em>&#160;</td>
  2459. </tr>
  2460. <tr>
  2461. <td></td>
  2462. <td>)</td>
  2463. <td></td><td></td>
  2464. </tr>
  2465. </table>
  2466. </td>
  2467. <td class="mlabels-right">
  2468. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  2469. </tr>
  2470. </table>
  2471. </div><div class="memdoc">
  2472. <p>Load image from file and convert it to required format. </p>
  2473. <p>This function does exact same thing as method above, and additionally converts loaded image to input format. </p>
  2474. <dl class="params"><dt>Parameters</dt><dd>
  2475. <table class="params">
  2476. <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>Input file path. </td></tr>
  2477. <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>required image format. </td></tr>
  2478. </table>
  2479. </dd>
  2480. </dl>
  2481. <dl class="section return"><dt>Returns</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> with error code specified by <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  2482. <dl class="section see"><dt>See Also</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> and <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  2483. <dl class="section note"><dt>Note</dt><dd>Memory residence must be <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993" title="Image in Host device memory. ">MemoryResidence::MemoryCPU</a>. </dd></dl>
  2484. </div>
  2485. </div>
  2486. <a class="anchor" id="a824376f7ac69c83fc8026cf38a235806"></a>
  2487. <div class="memitem">
  2488. <div class="memproto">
  2489. <table class="mlabels">
  2490. <tr>
  2491. <td class="mlabels-left">
  2492. <table class="memname">
  2493. <tr>
  2494. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt;<a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a>&gt; fsdk::Image::loadFromMemory </td>
  2495. <td>(</td>
  2496. <td class="paramtype">const void *&#160;</td>
  2497. <td class="paramname"><em>data</em>, </td>
  2498. </tr>
  2499. <tr>
  2500. <td class="paramkey"></td>
  2501. <td></td>
  2502. <td class="paramtype">const uint32_t&#160;</td>
  2503. <td class="paramname"><em>sizeInBytes</em>&#160;</td>
  2504. </tr>
  2505. <tr>
  2506. <td></td>
  2507. <td>)</td>
  2508. <td></td><td></td>
  2509. </tr>
  2510. </table>
  2511. </td>
  2512. <td class="mlabels-right">
  2513. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  2514. </tr>
  2515. </table>
  2516. </div><div class="memdoc">
  2517. <p>Load image from memory. </p>
  2518. <p>This function loads image contents from memory. Supported types are: bmp, png, ppm, jpeg, tiff. If image is not empty, it's content will be freed and memory will be reallocated to fit in the data from the file if:</p>
  2519. <ul>
  2520. <li>the file can be opened</li>
  2521. <li>the file is of supported format <dl class="params"><dt>Parameters</dt><dd>
  2522. <table class="params">
  2523. <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>Pointer to input memory. </td></tr>
  2524. <tr><td class="paramdir">[in]</td><td class="paramname">sizeInBytes</td><td>Count of bytes of image pointed to by data. </td></tr>
  2525. </table>
  2526. </dd>
  2527. </dl>
  2528. <dl class="section return"><dt>Returns</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> with error code specified by <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  2529. <dl class="section see"><dt>See Also</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> and <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  2530. <dl class="section note"><dt>Note</dt><dd>Memory residence must be <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993" title="Image in Host device memory. ">MemoryResidence::MemoryCPU</a>. </dd></dl>
  2531. </li>
  2532. </ul>
  2533. </div>
  2534. </div>
  2535. <a class="anchor" id="a27b9eae4a7a4bf22182bb98debf8c45d"></a>
  2536. <div class="memitem">
  2537. <div class="memproto">
  2538. <table class="mlabels">
  2539. <tr>
  2540. <td class="mlabels-left">
  2541. <table class="memname">
  2542. <tr>
  2543. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt;<a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a>&gt; fsdk::Image::loadFromMemory </td>
  2544. <td>(</td>
  2545. <td class="paramtype">const void *&#160;</td>
  2546. <td class="paramname"><em>data</em>, </td>
  2547. </tr>
  2548. <tr>
  2549. <td class="paramkey"></td>
  2550. <td></td>
  2551. <td class="paramtype">const uint32_t&#160;</td>
  2552. <td class="paramname"><em>sizeInBytes</em>, </td>
  2553. </tr>
  2554. <tr>
  2555. <td class="paramkey"></td>
  2556. <td></td>
  2557. <td class="paramtype">const <a class="el" href="structfsdk_1_1_format.html">Format</a>&#160;</td>
  2558. <td class="paramname"><em>format</em>&#160;</td>
  2559. </tr>
  2560. <tr>
  2561. <td></td>
  2562. <td>)</td>
  2563. <td></td><td></td>
  2564. </tr>
  2565. </table>
  2566. </td>
  2567. <td class="mlabels-right">
  2568. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  2569. </tr>
  2570. </table>
  2571. </div><div class="memdoc">
  2572. <p>Load image from memory and convert it to required format. </p>
  2573. <p>This function does exact same thing as method above, and additionally converts loaded image to input format. </p>
  2574. <dl class="params"><dt>Parameters</dt><dd>
  2575. <table class="params">
  2576. <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>Pointer to input memory. </td></tr>
  2577. <tr><td class="paramdir">[in]</td><td class="paramname">sizeInBytes</td><td>Count of bytes of image pointed to by data. </td></tr>
  2578. <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>required image format. </td></tr>
  2579. </table>
  2580. </dd>
  2581. </dl>
  2582. <dl class="section return"><dt>Returns</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> with error code specified by <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  2583. <dl class="section see"><dt>See Also</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> and <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  2584. <dl class="section note"><dt>Note</dt><dd>Memory residence must be <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993" title="Image in Host device memory. ">MemoryResidence::MemoryCPU</a>. </dd></dl>
  2585. </div>
  2586. </div>
  2587. <a class="anchor" id="a7d560518bf9a96c0fc8795edb4374a31"></a>
  2588. <div class="memitem">
  2589. <div class="memproto">
  2590. <table class="mlabels">
  2591. <tr>
  2592. <td class="mlabels-left">
  2593. <table class="memname">
  2594. <tr>
  2595. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt;<a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a>&gt; fsdk::Image::loadFromMemoryOfType </td>
  2596. <td>(</td>
  2597. <td class="paramtype">const void *&#160;</td>
  2598. <td class="paramname"><em>data</em>, </td>
  2599. </tr>
  2600. <tr>
  2601. <td class="paramkey"></td>
  2602. <td></td>
  2603. <td class="paramtype">const uint32_t&#160;</td>
  2604. <td class="paramname"><em>sizeInBytes</em>, </td>
  2605. </tr>
  2606. <tr>
  2607. <td class="paramkey"></td>
  2608. <td></td>
  2609. <td class="paramtype">const <a class="el" href="structfsdk_1_1_image.html#ad7383fff1a8c54a0b2153ea475b607b7">Type</a>&#160;</td>
  2610. <td class="paramname"><em>type</em>&#160;</td>
  2611. </tr>
  2612. <tr>
  2613. <td></td>
  2614. <td>)</td>
  2615. <td></td><td></td>
  2616. </tr>
  2617. </table>
  2618. </td>
  2619. <td class="mlabels-right">
  2620. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  2621. </tr>
  2622. </table>
  2623. </div><div class="memdoc">
  2624. <p>Load image from memory of specific type. </p>
  2625. <p>This function loads specific type image contents from memory. If data points to image of another type, not the one passed, does nothing. Supported types are: bmp, png, ppm, jpeg, tiff. If image is not empty, it's content will be freed and memory will be reallocated to fit in the data from the file if:</p>
  2626. <ul>
  2627. <li>the file can be opened</li>
  2628. <li>the file is of supported format <dl class="params"><dt>Parameters</dt><dd>
  2629. <table class="params">
  2630. <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>Pointer to input memory. </td></tr>
  2631. <tr><td class="paramdir">[in]</td><td class="paramname">sizeInBytes</td><td>Count of bytes of image pointed to by data. </td></tr>
  2632. <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type of image to be loaded. </td></tr>
  2633. </table>
  2634. </dd>
  2635. </dl>
  2636. <dl class="section return"><dt>Returns</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> with error code specified by <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  2637. <dl class="section see"><dt>See Also</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> and <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  2638. <dl class="section note"><dt>Note</dt><dd>Memory residence must be <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993" title="Image in Host device memory. ">MemoryResidence::MemoryCPU</a>. </dd></dl>
  2639. </li>
  2640. </ul>
  2641. </div>
  2642. </div>
  2643. <a class="anchor" id="ae7015b5e7e8c21af7fb23a93a1235301"></a>
  2644. <div class="memitem">
  2645. <div class="memproto">
  2646. <table class="mlabels">
  2647. <tr>
  2648. <td class="mlabels-left">
  2649. <table class="memname">
  2650. <tr>
  2651. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt;<a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a>&gt; fsdk::Image::loadFromMemoryOfType </td>
  2652. <td>(</td>
  2653. <td class="paramtype">const void *&#160;</td>
  2654. <td class="paramname"><em>data</em>, </td>
  2655. </tr>
  2656. <tr>
  2657. <td class="paramkey"></td>
  2658. <td></td>
  2659. <td class="paramtype">const uint32_t&#160;</td>
  2660. <td class="paramname"><em>sizeInBytes</em>, </td>
  2661. </tr>
  2662. <tr>
  2663. <td class="paramkey"></td>
  2664. <td></td>
  2665. <td class="paramtype">const <a class="el" href="structfsdk_1_1_image.html#ad7383fff1a8c54a0b2153ea475b607b7">Type</a>&#160;</td>
  2666. <td class="paramname"><em>type</em>, </td>
  2667. </tr>
  2668. <tr>
  2669. <td class="paramkey"></td>
  2670. <td></td>
  2671. <td class="paramtype">const <a class="el" href="structfsdk_1_1_format.html">Format</a>&#160;</td>
  2672. <td class="paramname"><em>format</em>&#160;</td>
  2673. </tr>
  2674. <tr>
  2675. <td></td>
  2676. <td>)</td>
  2677. <td></td><td></td>
  2678. </tr>
  2679. </table>
  2680. </td>
  2681. <td class="mlabels-right">
  2682. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  2683. </tr>
  2684. </table>
  2685. </div><div class="memdoc">
  2686. <p>Load image from memory of specific type and convert it to required format. </p>
  2687. <p>This function does exact same thing as method above, and additionally converts loaded image to input format. </p>
  2688. <dl class="params"><dt>Parameters</dt><dd>
  2689. <table class="params">
  2690. <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>Pointer to input memory. </td></tr>
  2691. <tr><td class="paramdir">[in]</td><td class="paramname">sizeInBytes</td><td>Count of bytes of image pointed to by data. </td></tr>
  2692. <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type of image to be loaded. </td></tr>
  2693. <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>required image format. </td></tr>
  2694. </table>
  2695. </dd>
  2696. </dl>
  2697. <dl class="section return"><dt>Returns</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> with error code specified by <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  2698. <dl class="section see"><dt>See Also</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> and <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  2699. <dl class="section note"><dt>Note</dt><dd>Memory residence must be <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993" title="Image in Host device memory. ">MemoryResidence::MemoryCPU</a>. </dd></dl>
  2700. </div>
  2701. </div>
  2702. <a class="anchor" id="ae05f21724f71ad844532ec46310bd252"></a>
  2703. <div class="memitem">
  2704. <div class="memproto">
  2705. <table class="mlabels">
  2706. <tr>
  2707. <td class="mlabels-left">
  2708. <table class="memname">
  2709. <tr>
  2710. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_sub_image.html">SubImage</a> fsdk::Image::map </td>
  2711. <td>(</td>
  2712. <td class="paramtype">int&#160;</td>
  2713. <td class="paramname"><em>x</em>, </td>
  2714. </tr>
  2715. <tr>
  2716. <td class="paramkey"></td>
  2717. <td></td>
  2718. <td class="paramtype">int&#160;</td>
  2719. <td class="paramname"><em>y</em>, </td>
  2720. </tr>
  2721. <tr>
  2722. <td class="paramkey"></td>
  2723. <td></td>
  2724. <td class="paramtype">int&#160;</td>
  2725. <td class="paramname"><em>width</em>, </td>
  2726. </tr>
  2727. <tr>
  2728. <td class="paramkey"></td>
  2729. <td></td>
  2730. <td class="paramtype">int&#160;</td>
  2731. <td class="paramname"><em>height</em>&#160;</td>
  2732. </tr>
  2733. <tr>
  2734. <td></td>
  2735. <td>)</td>
  2736. <td></td><td> const</td>
  2737. </tr>
  2738. </table>
  2739. </td>
  2740. <td class="mlabels-right">
  2741. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  2742. </tr>
  2743. </table>
  2744. </div><div class="memdoc">
  2745. <p>Map image contents to a given area. </p>
  2746. <dl class="section note"><dt>Note</dt><dd>specifying out of bounds area will result in runtime error. </dd>
  2747. <dd>
  2748. Memory residence must be <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993" title="Image in Host device memory. ">MemoryResidence::MemoryCPU</a>. </dd></dl>
  2749. <dl class="params"><dt>Parameters</dt><dd>
  2750. <table class="params">
  2751. <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>horizontal coordinate of top left corner of image rect to map. </td></tr>
  2752. <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>vertical coordinate of top left corner of image rect to map. </td></tr>
  2753. <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>width of image rect to map </td></tr>
  2754. <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>height of image rect to map </td></tr>
  2755. </table>
  2756. </dd>
  2757. </dl>
  2758. <dl class="section return"><dt>Returns</dt><dd>sub image corresponding to the given area. </dd></dl>
  2759. </div>
  2760. </div>
  2761. <a class="anchor" id="ac085efbd15cc73fea521d9067d551d61"></a>
  2762. <div class="memitem">
  2763. <div class="memproto">
  2764. <table class="mlabels">
  2765. <tr>
  2766. <td class="mlabels-left">
  2767. <table class="memname">
  2768. <tr>
  2769. <td class="memname"><a class="el" href="structfsdk_1_1_sub_image.html">SubImage</a> fsdk::Image::map </td>
  2770. <td>(</td>
  2771. <td class="paramtype">const <a class="el" href="structfsdk_1_1_base_rect.html">Rect</a> &amp;&#160;</td>
  2772. <td class="paramname"><em>rect</em></td><td>)</td>
  2773. <td> const</td>
  2774. </tr>
  2775. </table>
  2776. </td>
  2777. <td class="mlabels-right">
  2778. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  2779. </tr>
  2780. </table>
  2781. </div><div class="memdoc">
  2782. <p>Map image contents to a given area. </p>
  2783. <dl class="section note"><dt>Note</dt><dd>specifying out of bounds area will result in runtime error. </dd>
  2784. <dd>
  2785. Memory residence must be <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993" title="Image in Host device memory. ">MemoryResidence::MemoryCPU</a>. </dd></dl>
  2786. <dl class="params"><dt>Parameters</dt><dd>
  2787. <table class="params">
  2788. <tr><td class="paramdir">[in]</td><td class="paramname">rect</td><td>image rect to extract </td></tr>
  2789. </table>
  2790. </dd>
  2791. </dl>
  2792. <dl class="section return"><dt>Returns</dt><dd>sub image corresponding to the given area. </dd></dl>
  2793. </div>
  2794. </div>
  2795. <a class="anchor" id="aa4c32526ccd387fb89500e766ae3ce7f"></a>
  2796. <div class="memitem">
  2797. <div class="memproto">
  2798. <table class="mlabels">
  2799. <tr>
  2800. <td class="mlabels-left">
  2801. <table class="memname">
  2802. <tr>
  2803. <td class="memname"><a class="el" href="structfsdk_1_1_sub_image.html">SubImage</a> fsdk::Image::map </td>
  2804. <td>(</td>
  2805. <td class="paramtype">const <a class="el" href="namespacefsdk.html#a77eb62991e30a65164c055b3e518defd">Size</a> &amp;&#160;</td>
  2806. <td class="paramname"><em>size</em></td><td>)</td>
  2807. <td> const</td>
  2808. </tr>
  2809. </table>
  2810. </td>
  2811. <td class="mlabels-right">
  2812. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  2813. </tr>
  2814. </table>
  2815. </div><div class="memdoc">
  2816. <p>Map image contents to a given area. </p>
  2817. <dl class="section note"><dt>Note</dt><dd>specifying out of bounds area will result in runtime error. </dd>
  2818. <dd>
  2819. sub image origin is assumed at the top-left corner of the existing one. </dd>
  2820. <dd>
  2821. Memory residence must be <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993" title="Image in Host device memory. ">MemoryResidence::MemoryCPU</a>. </dd></dl>
  2822. <dl class="params"><dt>Parameters</dt><dd>
  2823. <table class="params">
  2824. <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>image size to map. </td></tr>
  2825. </table>
  2826. </dd>
  2827. </dl>
  2828. <dl class="section return"><dt>Returns</dt><dd>sub image corresponding to the given area. </dd></dl>
  2829. </div>
  2830. </div>
  2831. <a class="anchor" id="a5e5e5885d7e3e85d8d07b2c5a84937c5"></a>
  2832. <div class="memitem">
  2833. <div class="memproto">
  2834. <table class="mlabels">
  2835. <tr>
  2836. <td class="mlabels-left">
  2837. <table class="memname">
  2838. <tr>
  2839. <td class="memname"><a class="el" href="structfsdk_1_1_sub_image.html">SubImage</a> fsdk::Image::map </td>
  2840. <td>(</td>
  2841. <td class="paramtype">const <a class="el" href="namespacefsdk.html#abc92bf6fd92f16b2d9c8e78a85838bcd">Point2i</a> &amp;&#160;</td>
  2842. <td class="paramname"><em>origin</em>, </td>
  2843. </tr>
  2844. <tr>
  2845. <td class="paramkey"></td>
  2846. <td></td>
  2847. <td class="paramtype">const <a class="el" href="namespacefsdk.html#a77eb62991e30a65164c055b3e518defd">Size</a> &amp;&#160;</td>
  2848. <td class="paramname"><em>size</em>&#160;</td>
  2849. </tr>
  2850. <tr>
  2851. <td></td>
  2852. <td>)</td>
  2853. <td></td><td> const</td>
  2854. </tr>
  2855. </table>
  2856. </td>
  2857. <td class="mlabels-right">
  2858. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  2859. </tr>
  2860. </table>
  2861. </div><div class="memdoc">
  2862. <p>Map image contents to a given area. </p>
  2863. <dl class="section note"><dt>Note</dt><dd>specifying out of bounds area will result in runtime error. </dd>
  2864. <dd>
  2865. Memory residence must be <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993" title="Image in Host device memory. ">MemoryResidence::MemoryCPU</a>. </dd></dl>
  2866. <dl class="params"><dt>Parameters</dt><dd>
  2867. <table class="params">
  2868. <tr><td class="paramdir">[in]</td><td class="paramname">origin</td><td>sub image image origin. </td></tr>
  2869. <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>sub image size to extract. </td></tr>
  2870. </table>
  2871. </dd>
  2872. </dl>
  2873. <dl class="section return"><dt>Returns</dt><dd>sub image corresponding to the given area. </dd></dl>
  2874. </div>
  2875. </div>
  2876. <a class="anchor" id="a94659c183621f3be301832e3673936c6"></a>
  2877. <div class="memitem">
  2878. <div class="memproto">
  2879. <table class="mlabels">
  2880. <tr>
  2881. <td class="mlabels-left">
  2882. <table class="memname">
  2883. <tr>
  2884. <td class="memname">fsdk::Image::operator bool </td>
  2885. <td>(</td>
  2886. <td class="paramname"></td><td>)</td>
  2887. <td> const</td>
  2888. </tr>
  2889. </table>
  2890. </td>
  2891. <td class="mlabels-right">
  2892. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  2893. </tr>
  2894. </table>
  2895. </div><div class="memdoc">
  2896. <p>Implicit cast to boolean; results in true if image is valid, false if not. </p>
  2897. <dl class="section see"><dt>See Also</dt><dd><a class="el" href="structfsdk_1_1_image.html#a42bb8bc044a084b7779760c20701fa0d">isValid</a>. </dd></dl>
  2898. </div>
  2899. </div>
  2900. <a class="anchor" id="a6e64bb21715b54c2b208c370d4c6bb2d"></a>
  2901. <div class="memitem">
  2902. <div class="memproto">
  2903. <table class="mlabels">
  2904. <tr>
  2905. <td class="mlabels-left">
  2906. <table class="memname">
  2907. <tr>
  2908. <td class="memname"><a class="el" href="structfsdk_1_1_image.html">Image</a>&amp; fsdk::Image::operator= </td>
  2909. <td>(</td>
  2910. <td class="paramtype">const <a class="el" href="structfsdk_1_1_image.html">Image</a> &amp;&#160;</td>
  2911. <td class="paramname"><em>other</em></td><td>)</td>
  2912. <td></td>
  2913. </tr>
  2914. </table>
  2915. </td>
  2916. <td class="mlabels-right">
  2917. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  2918. </tr>
  2919. </table>
  2920. </div><div class="memdoc">
  2921. <p>Assign other image. </p>
  2922. <dl class="params"><dt>Parameters</dt><dd>
  2923. <table class="params">
  2924. <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>image to assign. </td></tr>
  2925. </table>
  2926. </dd>
  2927. </dl>
  2928. </div>
  2929. </div>
  2930. <a class="anchor" id="acbc748fe0bdd194deb00b26e06a51ed9"></a>
  2931. <div class="memitem">
  2932. <div class="memproto">
  2933. <table class="mlabels">
  2934. <tr>
  2935. <td class="mlabels-left">
  2936. <table class="memname">
  2937. <tr>
  2938. <td class="memname"><a class="el" href="structfsdk_1_1_image.html">Image</a>&amp; fsdk::Image::operator= </td>
  2939. <td>(</td>
  2940. <td class="paramtype"><a class="el" href="structfsdk_1_1_image.html">Image</a> &amp;&amp;&#160;</td>
  2941. <td class="paramname"><em>other</em></td><td>)</td>
  2942. <td></td>
  2943. </tr>
  2944. </table>
  2945. </td>
  2946. <td class="mlabels-right">
  2947. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  2948. </tr>
  2949. </table>
  2950. </div><div class="memdoc">
  2951. <p>Move other image. </p>
  2952. <dl class="params"><dt>Parameters</dt><dd>
  2953. <table class="params">
  2954. <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>image to move. </td></tr>
  2955. </table>
  2956. </dd>
  2957. </dl>
  2958. </div>
  2959. </div>
  2960. <a class="anchor" id="adf5ed625bd338c55677dee58043de494"></a>
  2961. <div class="memitem">
  2962. <div class="memproto">
  2963. <table class="mlabels">
  2964. <tr>
  2965. <td class="mlabels-left">
  2966. <table class="memname">
  2967. <tr>
  2968. <td class="memname">bool fsdk::Image::ownsData </td>
  2969. <td>(</td>
  2970. <td class="paramname"></td><td>)</td>
  2971. <td> const</td>
  2972. </tr>
  2973. </table>
  2974. </td>
  2975. <td class="mlabels-right">
  2976. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  2977. </tr>
  2978. </table>
  2979. </div><div class="memdoc">
  2980. <dl class="section return"><dt>Returns</dt><dd>true, if this image data was allocated by the image itself (via ctor or <a class="el" href="structfsdk_1_1_image.html#a1596737bcf2aea4a1c8fc336f6f1b182" title="Initializes an empty image and preallocates storage buffer of given size. ">create()</a>). Otherwise returns false. </dd></dl>
  2981. </div>
  2982. </div>
  2983. <a class="anchor" id="a32f3e84a17a9e47a516d2f9cef50c040"></a>
  2984. <div class="memitem">
  2985. <div class="memproto">
  2986. <table class="mlabels">
  2987. <tr>
  2988. <td class="mlabels-left">
  2989. <table class="memname">
  2990. <tr>
  2991. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> int fsdk::Image::release </td>
  2992. <td>(</td>
  2993. <td class="paramname"></td><td>)</td>
  2994. <td></td>
  2995. </tr>
  2996. </table>
  2997. </td>
  2998. <td class="mlabels-right">
  2999. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">noexcept</span></span> </td>
  3000. </tr>
  3001. </table>
  3002. </div><div class="memdoc">
  3003. <p>Decrease reference count. </p>
  3004. <dl class="section return"><dt>Returns</dt><dd>Current reference count. </dd></dl>
  3005. </div>
  3006. </div>
  3007. <a class="anchor" id="a6ed2d1d79094102bed624f40f14f4acb"></a>
  3008. <div class="memitem">
  3009. <div class="memproto">
  3010. <table class="mlabels">
  3011. <tr>
  3012. <td class="mlabels-left">
  3013. <table class="memname">
  3014. <tr>
  3015. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_image.html">Image</a> fsdk::Image::rescale </td>
  3016. <td>(</td>
  3017. <td class="paramtype">float&#160;</td>
  3018. <td class="paramname"><em>scale</em></td><td>)</td>
  3019. <td> const</td>
  3020. </tr>
  3021. </table>
  3022. </td>
  3023. <td class="mlabels-right">
  3024. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  3025. </tr>
  3026. </table>
  3027. </div><div class="memdoc">
  3028. <p>Rescale image keeping proportions. </p>
  3029. <dl class="section note"><dt>Note</dt><dd>Performs bilinear interpolation. </dd></dl>
  3030. <dl class="params"><dt>Parameters</dt><dd>
  3031. <table class="params">
  3032. <tr><td class="paramdir">[in]</td><td class="paramname">scale</td><td>factor. Must be positive. </td></tr>
  3033. </table>
  3034. </dd>
  3035. </dl>
  3036. <dl class="section return"><dt>Returns</dt><dd>scaled image. </dd></dl>
  3037. </div>
  3038. </div>
  3039. <a class="anchor" id="aadc0669fe4f2632fb259d2cba1a06738"></a>
  3040. <div class="memitem">
  3041. <div class="memproto">
  3042. <table class="mlabels">
  3043. <tr>
  3044. <td class="mlabels-left">
  3045. <table class="memname">
  3046. <tr>
  3047. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> int fsdk::Image::retain </td>
  3048. <td>(</td>
  3049. <td class="paramname"></td><td>)</td>
  3050. <td></td>
  3051. </tr>
  3052. </table>
  3053. </td>
  3054. <td class="mlabels-right">
  3055. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">noexcept</span></span> </td>
  3056. </tr>
  3057. </table>
  3058. </div><div class="memdoc">
  3059. <p>Increase reference count. </p>
  3060. <dl class="section return"><dt>Returns</dt><dd>Current reference count. </dd></dl>
  3061. </div>
  3062. </div>
  3063. <a class="anchor" id="ae3bd0f9b7e1dd8871e7110d566c0eb3b"></a>
  3064. <div class="memitem">
  3065. <div class="memproto">
  3066. <table class="mlabels">
  3067. <tr>
  3068. <td class="mlabels-left">
  3069. <table class="memname">
  3070. <tr>
  3071. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt;<a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Image::Error</a>&gt; fsdk::Image::save </td>
  3072. <td>(</td>
  3073. <td class="paramtype">const char *&#160;</td>
  3074. <td class="paramname"><em>path</em>, </td>
  3075. </tr>
  3076. <tr>
  3077. <td class="paramkey"></td>
  3078. <td></td>
  3079. <td class="paramtype"><a class="el" href="structfsdk_1_1_image.html#acb272c751b60925b57a543cf19f31a5d">fsdk::Image::ImageCompression</a>&#160;</td>
  3080. <td class="paramname"><em>additionalFlag</em> = <code><a class="el" href="structfsdk_1_1_image.html#acb272c751b60925b57a543cf19f31a5dab75738e569f17ad386d0ff4cb90eabb9">fsdk::Image::ImageCompression::IC_NO_COMPRESSION</a></code>&#160;</td>
  3081. </tr>
  3082. <tr>
  3083. <td></td>
  3084. <td>)</td>
  3085. <td></td><td> const</td>
  3086. </tr>
  3087. </table>
  3088. </td>
  3089. <td class="mlabels-right">
  3090. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  3091. </tr>
  3092. </table>
  3093. </div><div class="memdoc">
  3094. <p>Save image. </p>
  3095. <p>This function saves image contents to disk. Type is extracted from provided file extension. If it is unknown, function fails. Supported types are: bmp, png, ppm, jpeg, tiff. </p>
  3096. <dl class="section note"><dt>Note</dt><dd>Memory residence must be <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993" title="Image in Host device memory. ">MemoryResidence::MemoryCPU</a>. </dd></dl>
  3097. <dl class="params"><dt>Parameters</dt><dd>
  3098. <table class="params">
  3099. <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>output file path with proper file extension. </td></tr>
  3100. <tr><td class="paramdir">[in]</td><td class="paramname">additionalFlag</td><td>additional flag for saving of png or jpg image </td></tr>
  3101. </table>
  3102. </dd>
  3103. </dl>
  3104. <dl class="section return"><dt>Returns</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> with error code specified by <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  3105. <dl class="section see"><dt>See Also</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> and <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  3106. </div>
  3107. </div>
  3108. <a class="anchor" id="a9551bec72e3e4798bce2ddd116b53f6e"></a>
  3109. <div class="memitem">
  3110. <div class="memproto">
  3111. <table class="mlabels">
  3112. <tr>
  3113. <td class="mlabels-left">
  3114. <table class="memname">
  3115. <tr>
  3116. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt;<a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a>&gt; fsdk::Image::save </td>
  3117. <td>(</td>
  3118. <td class="paramtype">const char *&#160;</td>
  3119. <td class="paramname"><em>path</em>, </td>
  3120. </tr>
  3121. <tr>
  3122. <td class="paramkey"></td>
  3123. <td></td>
  3124. <td class="paramtype">const <a class="el" href="structfsdk_1_1_format.html">Format</a>&#160;</td>
  3125. <td class="paramname"><em>format</em>&#160;</td>
  3126. </tr>
  3127. <tr>
  3128. <td></td>
  3129. <td>)</td>
  3130. <td></td><td> const</td>
  3131. </tr>
  3132. </table>
  3133. </td>
  3134. <td class="mlabels-right">
  3135. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  3136. </tr>
  3137. </table>
  3138. </div><div class="memdoc">
  3139. <p>Convert and Save image. </p>
  3140. <p>This function converts image to required format and saves image contents to disk. Type is extracted from provided file extension. If it is unknown, function fails. Supported types are: bmp, png, ppm, jpeg, tiff. </p>
  3141. <dl class="params"><dt>Parameters</dt><dd>
  3142. <table class="params">
  3143. <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>output file path with proper file extension. </td></tr>
  3144. <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>required image format. </td></tr>
  3145. </table>
  3146. </dd>
  3147. </dl>
  3148. <dl class="section return"><dt>Returns</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> with error code specified by <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  3149. <dl class="section see"><dt>See Also</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> and <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  3150. <dl class="section note"><dt>Note</dt><dd>Memory residence must be <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993" title="Image in Host device memory. ">MemoryResidence::MemoryCPU</a>. </dd></dl>
  3151. </div>
  3152. </div>
  3153. <a class="anchor" id="a394ec678da307c9f6f73b673567bc9ae"></a>
  3154. <div class="memitem">
  3155. <div class="memproto">
  3156. <table class="mlabels">
  3157. <tr>
  3158. <td class="mlabels-left">
  3159. <table class="memname">
  3160. <tr>
  3161. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt;<a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Image::Error</a>&gt; fsdk::Image::saveToMemory </td>
  3162. <td>(</td>
  3163. <td class="paramtype"><a class="el" href="structfsdk_1_1_image.html#ad7383fff1a8c54a0b2153ea475b607b7">Image::Type</a>&#160;</td>
  3164. <td class="paramname"><em>type</em>, </td>
  3165. </tr>
  3166. <tr>
  3167. <td class="paramkey"></td>
  3168. <td></td>
  3169. <td class="paramtype"><a class="el" href="structfsdk_1_1_i_archive.html">IArchive</a> *&#160;</td>
  3170. <td class="paramname"><em>archive</em>, </td>
  3171. </tr>
  3172. <tr>
  3173. <td class="paramkey"></td>
  3174. <td></td>
  3175. <td class="paramtype"><a class="el" href="structfsdk_1_1_image.html#acb272c751b60925b57a543cf19f31a5d">fsdk::Image::ImageCompression</a>&#160;</td>
  3176. <td class="paramname"><em>additionalFlag</em> = <code><a class="el" href="structfsdk_1_1_image.html#acb272c751b60925b57a543cf19f31a5dab75738e569f17ad386d0ff4cb90eabb9">fsdk::Image::ImageCompression::IC_NO_COMPRESSION</a></code>&#160;</td>
  3177. </tr>
  3178. <tr>
  3179. <td></td>
  3180. <td>)</td>
  3181. <td></td><td> const</td>
  3182. </tr>
  3183. </table>
  3184. </td>
  3185. <td class="mlabels-right">
  3186. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  3187. </tr>
  3188. </table>
  3189. </div><div class="memdoc">
  3190. <p>Save image to memory buffer. </p>
  3191. <p>This function saves image contents to memory buffer (<a class="el" href="structfsdk_1_1_i_archive.html" title="Archive interface. ">IArchive</a>). Passed IArchvie will call setSizeHint for resize. </p>
  3192. <dl class="params"><dt>Parameters</dt><dd>
  3193. <table class="params">
  3194. <tr><td class="paramdir">[in]</td><td class="paramname"><a class="el" href="structfsdk_1_1_image.html#ad7383fff1a8c54a0b2153ea475b607b7" title="Supported image types. ">Image::Type</a></td><td>format used to encode. </td></tr>
  3195. <tr><td class="paramdir">[in]</td><td class="paramname"><a class="el" href="structfsdk_1_1_i_archive.html" title="Archive interface. ">IArchive</a></td><td>to store contents of encoded image. </td></tr>
  3196. <tr><td class="paramdir">[in]</td><td class="paramname">additionalFlag</td><td>additional flag for saving of png or jpg image </td></tr>
  3197. </table>
  3198. </dd>
  3199. </dl>
  3200. <dl class="section return"><dt>Returns</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> with error code specified by <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  3201. <dl class="section see"><dt>See Also</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> and <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  3202. <dl class="section note"><dt>Note</dt><dd>Memory residence must be <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993" title="Image in Host device memory. ">MemoryResidence::MemoryCPU</a>. </dd></dl>
  3203. </div>
  3204. </div>
  3205. <a class="anchor" id="a4031cca84864d83a5361968eaec0809e"></a>
  3206. <div class="memitem">
  3207. <div class="memproto">
  3208. <table class="mlabels">
  3209. <tr>
  3210. <td class="mlabels-left">
  3211. <table class="memname">
  3212. <tr>
  3213. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt;<a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Image::Error</a>&gt; fsdk::Image::saveToMemory </td>
  3214. <td>(</td>
  3215. <td class="paramtype"><a class="el" href="structfsdk_1_1_image.html#ad7383fff1a8c54a0b2153ea475b607b7">Image::Type</a>&#160;</td>
  3216. <td class="paramname"><em>type</em>, </td>
  3217. </tr>
  3218. <tr>
  3219. <td class="paramkey"></td>
  3220. <td></td>
  3221. <td class="paramtype"><a class="el" href="structfsdk_1_1_i_archive.html">IArchive</a> *&#160;</td>
  3222. <td class="paramname"><em>archive</em>, </td>
  3223. </tr>
  3224. <tr>
  3225. <td class="paramkey"></td>
  3226. <td></td>
  3227. <td class="paramtype">const <a class="el" href="structfsdk_1_1_format.html">Format</a>&#160;</td>
  3228. <td class="paramname"><em>format</em>&#160;</td>
  3229. </tr>
  3230. <tr>
  3231. <td></td>
  3232. <td>)</td>
  3233. <td></td><td> const</td>
  3234. </tr>
  3235. </table>
  3236. </td>
  3237. <td class="mlabels-right">
  3238. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  3239. </tr>
  3240. </table>
  3241. </div><div class="memdoc">
  3242. <p>Convert and save image to memory buffer. </p>
  3243. <p>This function converts image to required format and saves image contents to memory buffer (<a class="el" href="structfsdk_1_1_i_archive.html" title="Archive interface. ">IArchive</a>). Passed IArchvie will call setSizeHint for resize. </p>
  3244. <dl class="params"><dt>Parameters</dt><dd>
  3245. <table class="params">
  3246. <tr><td class="paramdir">[in]</td><td class="paramname"><a class="el" href="structfsdk_1_1_image.html#ad7383fff1a8c54a0b2153ea475b607b7" title="Supported image types. ">Image::Type</a></td><td>format used to encode. </td></tr>
  3247. <tr><td class="paramdir">[in]</td><td class="paramname"><a class="el" href="structfsdk_1_1_i_archive.html" title="Archive interface. ">IArchive</a></td><td>to store contents of encoded image. </td></tr>
  3248. <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>required image format. </td></tr>
  3249. </table>
  3250. </dd>
  3251. </dl>
  3252. <dl class="section return"><dt>Returns</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> with error code specified by <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  3253. <dl class="section see"><dt>See Also</dt><dd><a class="el" href="structfsdk_1_1_result.html" title="A structure that encapsulates an action result enumeration. ">Result</a> and <a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936" title="Image error codes. ">Image::Error</a>. </dd></dl>
  3254. <dl class="section note"><dt>Note</dt><dd>Memory residence must be <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993" title="Image in Host device memory. ">MemoryResidence::MemoryCPU</a>. </dd></dl>
  3255. </div>
  3256. </div>
  3257. <a class="anchor" id="ae43bcd728b9b3389a5d45e20dee1205d"></a>
  3258. <div class="memitem">
  3259. <div class="memproto">
  3260. <table class="mlabels">
  3261. <tr>
  3262. <td class="mlabels-left">
  3263. <table class="memname">
  3264. <tr>
  3265. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt;<a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a>&gt; fsdk::Image::set </td>
  3266. <td>(</td>
  3267. <td class="paramtype">int&#160;</td>
  3268. <td class="paramname"><em>width</em>, </td>
  3269. </tr>
  3270. <tr>
  3271. <td class="paramkey"></td>
  3272. <td></td>
  3273. <td class="paramtype">int&#160;</td>
  3274. <td class="paramname"><em>height</em>, </td>
  3275. </tr>
  3276. <tr>
  3277. <td class="paramkey"></td>
  3278. <td></td>
  3279. <td class="paramtype"><a class="el" href="structfsdk_1_1_format.html">Format</a>&#160;</td>
  3280. <td class="paramname"><em>format</em>, </td>
  3281. </tr>
  3282. <tr>
  3283. <td class="paramkey"></td>
  3284. <td></td>
  3285. <td class="paramtype">const void *&#160;</td>
  3286. <td class="paramname"><em>data</em>, </td>
  3287. </tr>
  3288. <tr>
  3289. <td class="paramkey"></td>
  3290. <td></td>
  3291. <td class="paramtype"><a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07">MemoryResidence</a>&#160;</td>
  3292. <td class="paramname"><em>residence</em> = <code><a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993">MemoryResidence::MemoryCPU</a></code>, </td>
  3293. </tr>
  3294. <tr>
  3295. <td class="paramkey"></td>
  3296. <td></td>
  3297. <td class="paramtype">int&#160;</td>
  3298. <td class="paramname"><em>deviceId</em> = <code>0</code>&#160;</td>
  3299. </tr>
  3300. <tr>
  3301. <td></td>
  3302. <td>)</td>
  3303. <td></td><td></td>
  3304. </tr>
  3305. </table>
  3306. </td>
  3307. <td class="mlabels-right">
  3308. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  3309. </tr>
  3310. </table>
  3311. </div><div class="memdoc">
  3312. <p>Initializes an image with provided data. If current image is not empty and it's size and format match the provided ones, no memory reallocation is performed. Otherwise image is re-created to match requirements. </p>
  3313. <dl class="params"><dt>Parameters</dt><dd>
  3314. <table class="params">
  3315. <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>image width. </td></tr>
  3316. <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>image height. </td></tr>
  3317. <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>image format. </td></tr>
  3318. <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>image data. </td></tr>
  3319. <tr><td class="paramdir">[in]</td><td class="paramname">memory</td><td>residence of a data pointer. </td></tr>
  3320. <tr><td class="paramdir">[in]</td><td class="paramname">deviceId</td><td>index of a device where data pointer was allocated </td></tr>
  3321. </table>
  3322. </dd>
  3323. </dl>
  3324. <dl class="section note"><dt>Note</dt><dd>deviceId is ignored for residence = <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993" title="Image in Host device memory. ">MemoryResidence::MemoryCPU</a> </dd>
  3325. <dd>
  3326. output image will have memory residence of the provided data pointer. </dd>
  3327. <dd>
  3328. if memory allocation fails, no exception is thrown; function call results in empty image. </dd></dl>
  3329. <dl class="section return"><dt>Returns</dt><dd>true in case of success, false otherwise. </dd></dl>
  3330. </div>
  3331. </div>
  3332. <a class="anchor" id="a85ddf384c606013f7c2aa2815eaeccf4"></a>
  3333. <div class="memitem">
  3334. <div class="memproto">
  3335. <table class="mlabels">
  3336. <tr>
  3337. <td class="mlabels-left">
  3338. <table class="memname">
  3339. <tr>
  3340. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt;<a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a>&gt; fsdk::Image::set </td>
  3341. <td>(</td>
  3342. <td class="paramtype">int&#160;</td>
  3343. <td class="paramname"><em>width</em>, </td>
  3344. </tr>
  3345. <tr>
  3346. <td class="paramkey"></td>
  3347. <td></td>
  3348. <td class="paramtype">int&#160;</td>
  3349. <td class="paramname"><em>height</em>, </td>
  3350. </tr>
  3351. <tr>
  3352. <td class="paramkey"></td>
  3353. <td></td>
  3354. <td class="paramtype"><a class="el" href="structfsdk_1_1_format.html">Format</a>&#160;</td>
  3355. <td class="paramname"><em>format</em>, </td>
  3356. </tr>
  3357. <tr>
  3358. <td class="paramkey"></td>
  3359. <td></td>
  3360. <td class="paramtype">void *&#160;</td>
  3361. <td class="paramname"><em>data</em>, </td>
  3362. </tr>
  3363. <tr>
  3364. <td class="paramkey"></td>
  3365. <td></td>
  3366. <td class="paramtype">bool&#160;</td>
  3367. <td class="paramname"><em>copy</em>, </td>
  3368. </tr>
  3369. <tr>
  3370. <td class="paramkey"></td>
  3371. <td></td>
  3372. <td class="paramtype"><a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07">MemoryResidence</a>&#160;</td>
  3373. <td class="paramname"><em>residence</em> = <code><a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993">MemoryResidence::MemoryCPU</a></code>, </td>
  3374. </tr>
  3375. <tr>
  3376. <td class="paramkey"></td>
  3377. <td></td>
  3378. <td class="paramtype">int&#160;</td>
  3379. <td class="paramname"><em>deviceId</em> = <code>0</code>&#160;</td>
  3380. </tr>
  3381. <tr>
  3382. <td></td>
  3383. <td>)</td>
  3384. <td></td><td></td>
  3385. </tr>
  3386. </table>
  3387. </td>
  3388. <td class="mlabels-right">
  3389. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  3390. </tr>
  3391. </table>
  3392. </div><div class="memdoc">
  3393. <p>Initializes an image with provided data. If copy is true and if current image is not empty and it's size and format match the provided ones, no memory reallocation is performed. Otherwise image is re-created to match requirements. If copy is false (which is default) this will just reference the provided data. </p>
  3394. <dl class="params"><dt>Parameters</dt><dd>
  3395. <table class="params">
  3396. <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>image width. </td></tr>
  3397. <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>image height. </td></tr>
  3398. <tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>image format. </td></tr>
  3399. <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>image data. </td></tr>
  3400. <tr><td class="paramdir">[in]</td><td class="paramname">copy</td><td>whether to copy or reference data. </td></tr>
  3401. <tr><td class="paramdir">[in]</td><td class="paramname">memory</td><td>residence of a data pointer. </td></tr>
  3402. <tr><td class="paramdir">[in]</td><td class="paramname">deviceId</td><td>index of a device where data pointer was allocated </td></tr>
  3403. </table>
  3404. </dd>
  3405. </dl>
  3406. <dl class="section note"><dt>Note</dt><dd>deviceId is ignored for residence = <a class="el" href="structfsdk_1_1_image.html#abe735660a541cb213facb543b93f4e07a2795bef6531632efb72ad70348fb5993" title="Image in Host device memory. ">MemoryResidence::MemoryCPU</a> </dd>
  3407. <dd>
  3408. output image will have memory residence of the provided data pointer. </dd>
  3409. <dd>
  3410. if memory allocation fails, no exception is thrown; function call results in empty image. </dd></dl>
  3411. <dl class="section return"><dt>Returns</dt><dd>true in case of success, false otherwise. </dd></dl>
  3412. </div>
  3413. </div>
  3414. <a class="anchor" id="af449e5eaada6b033205fec916c758aff"></a>
  3415. <div class="memitem">
  3416. <div class="memproto">
  3417. <table class="mlabels">
  3418. <tr>
  3419. <td class="mlabels-left">
  3420. <table class="memname">
  3421. <tr>
  3422. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt;<a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a>&gt; fsdk::Image::set </td>
  3423. <td>(</td>
  3424. <td class="paramtype">const <a class="el" href="structfsdk_1_1_image.html">Image</a> &amp;&#160;</td>
  3425. <td class="paramname"><em>other</em></td><td>)</td>
  3426. <td></td>
  3427. </tr>
  3428. </table>
  3429. </td>
  3430. <td class="mlabels-right">
  3431. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  3432. </tr>
  3433. </table>
  3434. </div><div class="memdoc">
  3435. <p>Initializes an image as a reference to an other image. </p>
  3436. <dl class="params"><dt>Parameters</dt><dd>
  3437. <table class="params">
  3438. <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>other image. </td></tr>
  3439. </table>
  3440. </dd>
  3441. </dl>
  3442. <dl class="section return"><dt>Returns</dt><dd>true in case of success, false otherwise. </dd></dl>
  3443. </div>
  3444. </div>
  3445. <a class="anchor" id="a62466dd45bd37cdd3c73bdeb7b268b20"></a>
  3446. <div class="memitem">
  3447. <div class="memproto">
  3448. <table class="mlabels">
  3449. <tr>
  3450. <td class="mlabels-left">
  3451. <table class="memname">
  3452. <tr>
  3453. <td class="memname"><a class="el" href="_def_8h.html#a5dc4c3043f171426dafe6fc800218945">FSDK_API</a> <a class="el" href="structfsdk_1_1_result.html">Result</a>&lt;<a class="el" href="structfsdk_1_1_image.html#a7929a4eb6155bd9430dac56142672936">Error</a>&gt; fsdk::Image::set </td>
  3454. <td>(</td>
  3455. <td class="paramtype">const <a class="el" href="structfsdk_1_1_sub_image.html">SubImage</a> &amp;&#160;</td>
  3456. <td class="paramname"><em>subImage</em></td><td>)</td>
  3457. <td></td>
  3458. </tr>
  3459. </table>
  3460. </td>
  3461. <td class="mlabels-right">
  3462. <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
  3463. </tr>
  3464. </table>
  3465. </div><div class="memdoc">
  3466. <p>Initializes an image with contents of a sub image. Since sub images do not handle data life time, image contents are always copied. </p>
  3467. <dl class="params"><dt>Parameters</dt><dd>
  3468. <table class="params">
  3469. <tr><td class="paramdir">[in]</td><td class="paramname">subImage</td><td>sub image. </td></tr>
  3470. </table>
  3471. </dd>
  3472. </dl>
  3473. </div>
  3474. </div>
  3475. <a class="anchor" id="a6cc848e22d99f4d2d8b34d240c0bba47"></a>
  3476. <div class="memitem">
  3477. <div class="memproto">
  3478. <table class="mlabels">
  3479. <tr>
  3480. <td class="mlabels-left">
  3481. <table class="memname">
  3482. <tr>
  3483. <td class="memname">void fsdk::Image::swap </td>
  3484. <td>(</td>
  3485. <td class="paramtype"><a class="el" href="structfsdk_1_1_image.html">Image</a> &amp;&#160;</td>
  3486. <td class="paramname"><em>other</em></td><td>)</td>
  3487. <td></td>
  3488. </tr>
  3489. </table>
  3490. </td>
  3491. <td class="mlabels-right">
  3492. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  3493. </tr>
  3494. </table>
  3495. </div><div class="memdoc">
  3496. <p>Swap contents with another image. </p>
  3497. <dl class="params"><dt>Parameters</dt><dd>
  3498. <table class="params">
  3499. <tr><td class="paramdir">[in,out]</td><td class="paramname">other</td><td>image to swap with. </td></tr>
  3500. </table>
  3501. </dd>
  3502. </dl>
  3503. </div>
  3504. </div>
  3505. <h2 class="groupheader">Member Data Documentation</h2>
  3506. <a class="anchor" id="aefe4793bcc5d38d828d5ead04cb4f75e"></a>
  3507. <div class="memitem">
  3508. <div class="memproto">
  3509. <table class="mlabels">
  3510. <tr>
  3511. <td class="mlabels-left">
  3512. <table class="memname">
  3513. <tr>
  3514. <td class="memname"><a class="el" href="structfsdk_1_1_format.html">Format</a> fsdk::Image::m_format</td>
  3515. </tr>
  3516. </table>
  3517. </td>
  3518. <td class="mlabels-right">
  3519. <span class="mlabels"><span class="mlabel">protected</span></span> </td>
  3520. </tr>
  3521. </table>
  3522. </div><div class="memdoc">
  3523. <p>image format ( </p>
  3524. <dl class="section see"><dt>See Also</dt><dd><a class="el" href="structfsdk_1_1_format.html" title="Image format. ">Format</a>). </dd></dl>
  3525. </div>
  3526. </div>
  3527. <hr/>The documentation for this struct was generated from the following file:<ul>
  3528. <li>include/fsdk/Types/<a class="el" href="_image_8h_source.html">Image.h</a></li>
  3529. </ul>
  3530. </div><!-- contents -->
  3531. </div><!-- doc-content -->
  3532. <!-- start footer part -->
  3533. <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  3534. <ul>
  3535. <li class="navelem"><a class="el" href="namespacefsdk.html">fsdk</a></li><li class="navelem"><a class="el" href="structfsdk_1_1_image.html">Image</a></li>
  3536. <li class="footer">Generated on Fri Jun 17 2022 12:19:44 for Face Engine SDK by
  3537. <a href="http://www.doxygen.org/index.html">
  3538. <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.5 </li>
  3539. </ul>
  3540. </div>
  3541. </body>
  3542. </html>