AForge.Imaging.Formats.xml 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576
  1. <?xml version="1.0"?>
  2. <doc>
  3. <assembly>
  4. <name>AForge.Imaging.Formats</name>
  5. </assembly>
  6. <members>
  7. <member name="T:AForge.Imaging.Formats.ImageDecoder">
  8. <summary>
  9. Image decoder to decode different custom image file formats.
  10. </summary>
  11. <remarks><para>The class represent a help class, which simplifies decoding of image
  12. files finding appropriate image decoder automatically (using list of registered
  13. image decoders). Instead of using required image decoder directly, users may use this
  14. class, which will find required decoder by file's extension.</para>
  15. <para>By default the class registers on its own all decoders, which are available in
  16. AForge.Imaging.Formats library. If user has implementation of his own image decoders, he
  17. needs to register them using <see cref="M:AForge.Imaging.Formats.ImageDecoder.RegisterDecoder(System.String,AForge.Imaging.Formats.IImageDecoder)"/> method to be able to use them through
  18. the <see cref="T:AForge.Imaging.Formats.ImageDecoder"/> class.</para>
  19. <para><note>If the class can not find appropriate decode in the list of registered
  20. decoders, it passes file to .NET's image decoder for decoding.</note></para>
  21. <para>Sample usage:</para>
  22. <code>
  23. // sample file name
  24. string fileName = "myFile.pnm";
  25. // decode image file
  26. Bitmap = ImageDecoder.DecodeFromFile( fileName );
  27. </code>
  28. </remarks>
  29. <seealso cref="T:AForge.Imaging.Formats.PNMCodec"/>
  30. <seealso cref="T:AForge.Imaging.Formats.FITSCodec"/>
  31. </member>
  32. <member name="M:AForge.Imaging.Formats.ImageDecoder.RegisterDecoder(System.String,AForge.Imaging.Formats.IImageDecoder)">
  33. <summary>
  34. Register image decoder for a specified file extension.
  35. </summary>
  36. <param name="fileExtension">File extension to register decoder for ("bmp", for example).</param>
  37. <param name="decoder">Image decoder to use for the specified file extension.</param>
  38. <remarks><para>The method allows to register image decoder object, which should be used
  39. to decode images from files with the specified extension.</para></remarks>
  40. </member>
  41. <member name="M:AForge.Imaging.Formats.ImageDecoder.DecodeFromFile(System.String)">
  42. <summary>
  43. Decode first frame for the specified file.
  44. </summary>
  45. <param name="fileName">File name to read image from.</param>
  46. <returns>Return decoded image. In the case if file format support multiple
  47. frames, the method return the first frame.</returns>
  48. <remarks><para>The method uses table of registered image decoders to find the one,
  49. which should be used for the specified file. If there is not appropriate decoder
  50. found, the method uses default .NET's image decoding routine (see
  51. <see cref="M:System.Drawing.Image.FromFile(System.String)"/>).</para></remarks>
  52. </member>
  53. <member name="M:AForge.Imaging.Formats.ImageDecoder.DecodeFromFile(System.String,AForge.Imaging.Formats.ImageInfo@)">
  54. <summary>
  55. Decode first frame for the specified file.
  56. </summary>
  57. <param name="fileName">File name to read image from.</param>
  58. <param name="imageInfo">Information about the decoded image.</param>
  59. <returns>Return decoded image. In the case if file format support multiple
  60. frames, the method return the first frame.</returns>
  61. <remarks><para>The method uses table of registered image decoders to find the one,
  62. which should be used for the specified file. If there is not appropriate decoder
  63. found, the method uses default .NET's image decoding routine (see
  64. <see cref="M:System.Drawing.Image.FromFile(System.String)"/>).</para></remarks>
  65. </member>
  66. <member name="T:AForge.Imaging.Formats.PNMImageInfo">
  67. <summary>
  68. Information about PNM image's frame.
  69. </summary>
  70. </member>
  71. <member name="T:AForge.Imaging.Formats.ImageInfo">
  72. <summary>
  73. Information about image's frame.
  74. </summary>
  75. <remarks><para>This is a base class, which keeps basic information about image, like its width,
  76. height, etc. Classes, which inherit from this, may define more properties describing certain
  77. image formats.</para></remarks>
  78. </member>
  79. <member name="F:AForge.Imaging.Formats.ImageInfo.width">
  80. <summary>
  81. Image's width.
  82. </summary>
  83. </member>
  84. <member name="F:AForge.Imaging.Formats.ImageInfo.height">
  85. <summary>
  86. Image's height.
  87. </summary>
  88. </member>
  89. <member name="F:AForge.Imaging.Formats.ImageInfo.bitsPerPixel">
  90. <summary>
  91. Number of bits per image's pixel.
  92. </summary>
  93. </member>
  94. <member name="F:AForge.Imaging.Formats.ImageInfo.frameIndex">
  95. <summary>
  96. Frame's index.
  97. </summary>
  98. </member>
  99. <member name="F:AForge.Imaging.Formats.ImageInfo.totalFrames">
  100. <summary>
  101. Total frames in the image.
  102. </summary>
  103. </member>
  104. <member name="M:AForge.Imaging.Formats.ImageInfo.#ctor">
  105. <summary>
  106. Initializes a new instance of the <see cref="T:AForge.Imaging.Formats.ImageInfo"/> class.
  107. </summary>
  108. </member>
  109. <member name="M:AForge.Imaging.Formats.ImageInfo.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
  110. <summary>
  111. Initializes a new instance of the <see cref="T:AForge.Imaging.Formats.ImageInfo"/> class.
  112. </summary>
  113. <param name="width">Image's width.</param>
  114. <param name="height">Image's height.</param>
  115. <param name="bitsPerPixel">Number of bits per image's pixel.</param>
  116. <param name="frameIndex">Frame's index.</param>
  117. <param name="totalFrames">Total frames in the image.</param>
  118. </member>
  119. <member name="M:AForge.Imaging.Formats.ImageInfo.Clone">
  120. <summary>
  121. Creates a new object that is a copy of the current instance.
  122. </summary>
  123. <returns>A new object that is a copy of this instance.</returns>
  124. </member>
  125. <member name="P:AForge.Imaging.Formats.ImageInfo.Width">
  126. <summary>
  127. Image's width.
  128. </summary>
  129. </member>
  130. <member name="P:AForge.Imaging.Formats.ImageInfo.Height">
  131. <summary>
  132. Image's height.
  133. </summary>
  134. </member>
  135. <member name="P:AForge.Imaging.Formats.ImageInfo.BitsPerPixel">
  136. <summary>
  137. Number of bits per image's pixel.
  138. </summary>
  139. </member>
  140. <member name="P:AForge.Imaging.Formats.ImageInfo.FrameIndex">
  141. <summary>
  142. Frame's index.
  143. </summary>
  144. <remarks><para>Some image formats support storing multiple frames in one image file.
  145. The property specifies index of a particular frame.</para></remarks>
  146. </member>
  147. <member name="P:AForge.Imaging.Formats.ImageInfo.TotalFrames">
  148. <summary>
  149. Total frames in the image.
  150. </summary>
  151. <remarks><para>Some image formats support storing multiple frames in one image file.
  152. The property specifies total number of frames in image file.</para></remarks>
  153. </member>
  154. <member name="M:AForge.Imaging.Formats.PNMImageInfo.#ctor">
  155. <summary>
  156. Initializes a new instance of the <see cref="T:AForge.Imaging.Formats.PNMImageInfo"/> class.
  157. </summary>
  158. </member>
  159. <member name="M:AForge.Imaging.Formats.PNMImageInfo.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
  160. <summary>
  161. Initializes a new instance of the <see cref="T:AForge.Imaging.Formats.PNMImageInfo"/> class.
  162. </summary>
  163. <param name="width">Image's width.</param>
  164. <param name="height">Image's height.</param>
  165. <param name="bitsPerPixel">Number of bits per image's pixel.</param>
  166. <param name="frameIndex">Frame's index.</param>
  167. <param name="totalFrames">Total frames in the image.</param>
  168. </member>
  169. <member name="M:AForge.Imaging.Formats.PNMImageInfo.Clone">
  170. <summary>
  171. Creates a new object that is a copy of the current instance.
  172. </summary>
  173. <returns>A new object that is a copy of this instance.</returns>
  174. </member>
  175. <member name="P:AForge.Imaging.Formats.PNMImageInfo.Version">
  176. <summary>
  177. PNM file version (format), [1, 6].
  178. </summary>
  179. </member>
  180. <member name="P:AForge.Imaging.Formats.PNMImageInfo.MaxDataValue">
  181. <summary>
  182. Maximum pixel's value in source PNM image.
  183. </summary>
  184. <remarks><para>The value is used to scale image's data converting them
  185. from original data range to the range of
  186. <see cref="P:AForge.Imaging.Formats.ImageInfo.BitsPerPixel">supported bits per pixel</see> format.</para></remarks>
  187. </member>
  188. <member name="T:AForge.Imaging.Formats.PNMCodec">
  189. <summary>
  190. PNM image format decoder.
  191. </summary>
  192. <remarks><para>The PNM (an acronym derived from "Portable Any Map") format is an
  193. abstraction of the PBM, PGM and PPM formats. I.e. the name "PNM" refers collectively
  194. to PBM (binary images), PGM (grayscale images) and PPM (color image) image formats.</para>
  195. <para>Image in PNM format can be found in different scientific databases and laboratories,
  196. for example <i>Yale Face Database</i> and <i>AT&amp;T Face Database</i>.</para>
  197. <para><note>Only PNM images of P5 (binary encoded PGM) and P6 (binary encoded PPM) formats
  198. are supported at this point.</note></para>
  199. <para><note>The maximum supported pixel value is 255 at this point.</note></para>
  200. <para><note>The class supports only one-frame PNM images. As it is specified in format
  201. specification, the multi-frame PNM images has appeared starting from 2000.</note></para>
  202. </remarks>
  203. </member>
  204. <member name="T:AForge.Imaging.Formats.IImageDecoder">
  205. <summary>
  206. Image decoder interface, which specifies set of methods, which should be
  207. implemented by image decoders for different file formats.
  208. </summary>
  209. <remarks><para>The interface specifies set of methods, which are suitable not
  210. only for simple one-frame image formats. The interface also defines methods
  211. to work with image formats designed to store multiple frames and image formats
  212. which provide different type of image description (like acquisition
  213. parameters, etc).
  214. </para></remarks>
  215. </member>
  216. <member name="M:AForge.Imaging.Formats.IImageDecoder.DecodeSingleFrame(System.IO.Stream)">
  217. <summary>
  218. Decode first frame of image from the specified stream.
  219. </summary>
  220. <param name="stream">Source stream, which contains encoded image.</param>
  221. <returns>Returns decoded image frame.</returns>
  222. <remarks>
  223. <para>For one-frame image formats the method is supposed to decode single
  224. available frame. For multi-frame image formats the first frame should be
  225. decoded.</para>
  226. <para>Implementations of this method may throw
  227. <see cref="T:System.FormatException"/> exception to report about unrecognized image
  228. format, <see cref="T:System.ArgumentException"/> exception to report about incorrectly
  229. formatted image or <see cref="T:System.NotSupportedException"/> exception to report if
  230. certain formats are not supported.</para>
  231. </remarks>
  232. </member>
  233. <member name="M:AForge.Imaging.Formats.IImageDecoder.Open(System.IO.Stream)">
  234. <summary>
  235. Open specified stream.
  236. </summary>
  237. <param name="stream">Stream to open.</param>
  238. <returns>Returns number of images found in the specified stream.</returns>
  239. <remarks><para>Implementation of this method is supposed to read image's header,
  240. checking for correct image format and reading its atributes.</para>
  241. <para>Implementations of this method may throw
  242. <see cref="T:System.FormatException"/> exception to report about unrecognized image
  243. format, <see cref="T:System.ArgumentException"/> exception to report about incorrectly
  244. formatted image or <see cref="T:System.NotSupportedException"/> exception to report if
  245. certain formats are not supported.</para>
  246. </remarks>
  247. </member>
  248. <member name="M:AForge.Imaging.Formats.IImageDecoder.DecodeFrame(System.Int32,AForge.Imaging.Formats.ImageInfo@)">
  249. <summary>
  250. Decode specified frame.
  251. </summary>
  252. <param name="frameIndex">Image frame to decode.</param>
  253. <param name="imageInfo">Receives information about decoded frame.</param>
  254. <returns>Returns decoded frame.</returns>
  255. <remarks>Implementations of this method may throw
  256. <see cref="T:System.NullReferenceException"/> exception in the case if no image
  257. stream was opened previously, <see cref="T:System.ArgumentOutOfRangeException"/> in the
  258. case if stream does not contain frame with specified index or <see cref="T:System.ArgumentException"/>
  259. exception to report about incorrectly formatted image.
  260. </remarks>
  261. </member>
  262. <member name="M:AForge.Imaging.Formats.IImageDecoder.Close">
  263. <summary>
  264. Close decoding of previously opened stream.
  265. </summary>
  266. <remarks><para>Implementations of this method don't close stream itself, but just close
  267. decoding cleaning all associated data with it.</para></remarks>
  268. </member>
  269. <member name="M:AForge.Imaging.Formats.PNMCodec.DecodeSingleFrame(System.IO.Stream)">
  270. <summary>
  271. Decode first frame of PNM image.
  272. </summary>
  273. <param name="stream">Source stream, which contains encoded image.</param>
  274. <returns>Returns decoded image frame.</returns>
  275. <exception cref="T:System.FormatException">Not a PNM image format.</exception>
  276. <exception cref="T:System.NotSupportedException">Format of the PNM image is not supported.</exception>
  277. <exception cref="T:System.ArgumentException">The stream contains invalid (broken) PNM image.</exception>
  278. </member>
  279. <member name="M:AForge.Imaging.Formats.PNMCodec.Open(System.IO.Stream)">
  280. <summary>
  281. Open specified stream.
  282. </summary>
  283. <param name="stream">Stream to open.</param>
  284. <returns>Returns number of images found in the specified stream.</returns>
  285. <exception cref="T:System.FormatException">Not a PNM image format.</exception>
  286. <exception cref="T:System.NotSupportedException">Format of the PNM image is not supported.</exception>
  287. <exception cref="T:System.ArgumentException">The stream contains invalid (broken) PNM image.</exception>
  288. </member>
  289. <member name="M:AForge.Imaging.Formats.PNMCodec.DecodeFrame(System.Int32,AForge.Imaging.Formats.ImageInfo@)">
  290. <summary>
  291. Decode specified frame.
  292. </summary>
  293. <param name="frameIndex">Image frame to decode.</param>
  294. <param name="imageInfo">Receives information about decoded frame.</param>
  295. <returns>Returns decoded frame.</returns>
  296. <exception cref="T:System.NullReferenceException">No image stream was opened previously.</exception>
  297. <exception cref="T:System.ArgumentOutOfRangeException">Stream does not contain frame with specified index.</exception>
  298. <exception cref="T:System.ArgumentException">The stream contains invalid (broken) PNM image.</exception>
  299. </member>
  300. <member name="M:AForge.Imaging.Formats.PNMCodec.Close">
  301. <summary>
  302. Close decoding of previously opened stream.
  303. </summary>
  304. <remarks><para>The method does not close stream itself, but just closes
  305. decoding cleaning all associated data with it.</para></remarks>
  306. </member>
  307. <member name="T:AForge.Imaging.Formats.FITSImageInfo">
  308. <summary>
  309. Information about FITS image's frame.
  310. </summary>
  311. </member>
  312. <member name="M:AForge.Imaging.Formats.FITSImageInfo.#ctor">
  313. <summary>
  314. Initializes a new instance of the <see cref="T:AForge.Imaging.Formats.FITSImageInfo"/> class.
  315. </summary>
  316. </member>
  317. <member name="M:AForge.Imaging.Formats.FITSImageInfo.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
  318. <summary>
  319. Initializes a new instance of the <see cref="T:AForge.Imaging.Formats.FITSImageInfo"/> class.
  320. </summary>
  321. <param name="width">Image's width.</param>
  322. <param name="height">Image's height.</param>
  323. <param name="bitsPerPixel">Number of bits per image's pixel.</param>
  324. <param name="frameIndex">Frame's index.</param>
  325. <param name="totalFrames">Total frames in the image.</param>
  326. </member>
  327. <member name="M:AForge.Imaging.Formats.FITSImageInfo.Clone">
  328. <summary>
  329. Creates a new object that is a copy of the current instance.
  330. </summary>
  331. <returns>A new object that is a copy of this instance.</returns>
  332. </member>
  333. <member name="P:AForge.Imaging.Formats.FITSImageInfo.OriginalBitsPerPixl">
  334. <summary>
  335. Original bits per pixel.
  336. </summary>
  337. <remarks><para>The property specifies original number of bits per image's pixel. For
  338. FITS images the value may be equal to 8, 16, 32, -32 (32 bit image with float data
  339. type for pixel encoding), -64 (64 bit image with double data type for pixel encoding).
  340. </para></remarks>
  341. </member>
  342. <member name="P:AForge.Imaging.Formats.FITSImageInfo.MinDataValue">
  343. <summary>
  344. Minimum data value found during parsing FITS image.
  345. </summary>
  346. <remarks><para>Minimum and maximum data values are used to scale image's data converting
  347. them from <see cref="P:AForge.Imaging.Formats.FITSImageInfo.OriginalBitsPerPixl">original bits per pixel</see> format to
  348. <see cref="P:AForge.Imaging.Formats.ImageInfo.BitsPerPixel">supported bits per pixel</see> format.</para></remarks>
  349. </member>
  350. <member name="P:AForge.Imaging.Formats.FITSImageInfo.MaxDataValue">
  351. <summary>
  352. Maximum data value found during parsing FITS image.
  353. </summary>
  354. <remarks><para>Minimum and maximum data values are used to scale image's data converting
  355. them from <see cref="P:AForge.Imaging.Formats.FITSImageInfo.OriginalBitsPerPixl">original bits per pixel</see> format to
  356. <see cref="P:AForge.Imaging.Formats.ImageInfo.BitsPerPixel">supported bits per pixel</see> format.</para></remarks>
  357. </member>
  358. <member name="P:AForge.Imaging.Formats.FITSImageInfo.Telescope">
  359. <summary>
  360. Telescope used for object's observation.
  361. </summary>
  362. </member>
  363. <member name="P:AForge.Imaging.Formats.FITSImageInfo.Object">
  364. <summary>
  365. Object acquired during observation.
  366. </summary>
  367. </member>
  368. <member name="P:AForge.Imaging.Formats.FITSImageInfo.Observer">
  369. <summary>
  370. Observer doing object's acquiring.
  371. </summary>
  372. </member>
  373. <member name="P:AForge.Imaging.Formats.FITSImageInfo.Instrument">
  374. <summary>
  375. Instrument used for observation.
  376. </summary>
  377. </member>
  378. <member name="T:AForge.Imaging.Formats.FITSCodec">
  379. <summary>
  380. FITS image format decoder.
  381. </summary>
  382. <remarks><para>The FITS (an acronym derived from "Flexible Image Transport System") format
  383. is an astronomical image and table format created and supported by NASA. FITS is the most
  384. commonly used in astronomy and is designed specifically for scientific data. Different astronomical
  385. organizations keep their images acquired using telescopes and other equipment in FITS format.</para>
  386. <para><note>The class extracts image frames only from the main data section of FITS file.
  387. 2D (single frame) and 3D (series of frames) data structures are supported.</note></para>
  388. <para><note>During image reading/parsing, its data are scaled using minimum and maximum values of
  389. the source image data. FITS tags are not used for this purpose - data are scaled from the
  390. [min, max] range found to the range of supported image format ([0, 255] for 8 bpp grayscale
  391. or [0, 65535] for 16 bpp grayscale image).</note></para>
  392. </remarks>
  393. </member>
  394. <member name="M:AForge.Imaging.Formats.FITSCodec.DecodeSingleFrame(System.IO.Stream)">
  395. <summary>
  396. Decode first frame of FITS image.
  397. </summary>
  398. <param name="stream">Source stream, which contains encoded image.</param>
  399. <returns>Returns decoded image frame.</returns>
  400. <exception cref="T:System.FormatException">Not a FITS image format.</exception>
  401. <exception cref="T:System.NotSupportedException">Format of the FITS image is not supported.</exception>
  402. <exception cref="T:System.ArgumentException">The stream contains invalid (broken) FITS image.</exception>
  403. </member>
  404. <member name="M:AForge.Imaging.Formats.FITSCodec.Open(System.IO.Stream)">
  405. <summary>
  406. Open specified stream.
  407. </summary>
  408. <param name="stream">Stream to open.</param>
  409. <returns>Returns number of images found in the specified stream.</returns>
  410. <exception cref="T:System.FormatException">Not a FITS image format.</exception>
  411. <exception cref="T:System.NotSupportedException">Format of the FITS image is not supported.</exception>
  412. <exception cref="T:System.ArgumentException">The stream contains invalid (broken) FITS image.</exception>
  413. </member>
  414. <member name="M:AForge.Imaging.Formats.FITSCodec.DecodeFrame(System.Int32,AForge.Imaging.Formats.ImageInfo@)">
  415. <summary>
  416. Decode specified frame.
  417. </summary>
  418. <param name="frameIndex">Image frame to decode.</param>
  419. <param name="imageInfo">Receives information about decoded frame.</param>
  420. <returns>Returns decoded frame.</returns>
  421. <exception cref="T:System.NullReferenceException">No image stream was opened previously.</exception>
  422. <exception cref="T:System.ArgumentOutOfRangeException">Stream does not contain frame with specified index.</exception>
  423. <exception cref="T:System.ArgumentException">The stream contains invalid (broken) FITS image.</exception>
  424. </member>
  425. <member name="M:AForge.Imaging.Formats.FITSCodec.Close">
  426. <summary>
  427. Close decoding of previously opened stream.
  428. </summary>
  429. <remarks><para>The method does not close stream itself, but just closes
  430. decoding cleaning all associated data with it.</para></remarks>
  431. </member>
  432. <member name="T:AForge.Imaging.Formats.Tools">
  433. <summary>
  434. Set of tools used internally in AForge.Imaging.Formats library.
  435. </summary>
  436. </member>
  437. <member name="M:AForge.Imaging.Formats.Tools.CreateGrayscaleImage(System.Int32,System.Int32)">
  438. <summary>
  439. Create and initialize new grayscale image.
  440. </summary>
  441. <param name="width">Image width.</param>
  442. <param name="height">Image height.</param>
  443. <returns>Returns new created grayscale image.</returns>
  444. <remarks><para>AForge.Imaging.Image.CreateGrayscaleImage() function
  445. could be used instead, which does the some. But it was not used to get
  446. rid of dependency on AForge.Imaing library.</para></remarks>
  447. </member>
  448. <member name="M:AForge.Imaging.Formats.Tools.ReadStream(System.IO.Stream,System.Byte[],System.Int32,System.Int32)">
  449. <summary>
  450. Read specified amount of bytes from the specified stream.
  451. </summary>
  452. <param name="stream">Source sream to read data from.</param>
  453. <param name="buffer">Buffer to read data into.</param>
  454. <param name="offset">Offset in buffer to put data into.</param>
  455. <param name="count">Number of bytes to read.</param>
  456. <returns>Returns total number of bytes read. It may be smaller than requested amount only
  457. in the case if end of stream was reached.</returns>
  458. <remarks><para>This tool function guarantees that requested number of bytes
  459. was read from the source stream (.NET streams don't guarantee this and may return less bytes
  460. than it was requested). Only in the case if end of stream was reached, the function
  461. may return with less bytes read.</para>
  462. </remarks>
  463. </member>
  464. </members>
  465. </doc>