History.xml 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <?xml-stylesheet type="text/xsl" href="../Xsl/doc2html.xsl"?>
  3. <doc>
  4. <title>Vampyre Imaging Library History</title>
  5. <chapter>
  6. <anchor name="top">
  7. <title>Vampyre Imaging Library History</title>
  8. </anchor>
  9. <par>
  10. You can find a listing of Imaging versions on this page.
  11. There is the release date of each version together with
  12. a short note and a list of the most important changes that were made.
  13. You can find the change tags explained here
  14. <link url="#legend">Changes Legend</link>.
  15. </par>
  16. <!-- VERSION 00.24.2 -->
  17. <section>
  18. <mediumcap>Version 0.24.2 - 11th December 2007</mediumcap>
  19. <notes>
  20. For complete list of changes see <keyword>File Notes</keyword>
  21. section at the end of each source file.
  22. </notes>
  23. <bulletlist>
  24. <li>
  25. <keyword>[*]</keyword>
  26. Updated <b>OpenJpeg</b> library (JPEG 2000) to latest
  27. revision and added Imaging JPEG support for 64bit Linux.
  28. </li>
  29. <li>
  30. <keyword>[F]</keyword>
  31. Fixed various user reported bugs in file format
  32. support for <b>GIF</b> and <b>JPEG</b> images.
  33. </li>
  34. <li>
  35. <keyword>[*/+]</keyword>
  36. Compatibility changes and project files for new Pascal
  37. compilers/IDEs: Lazarus 0.9.24 (LCL support update),
  38. FPC 2.2, RAD Studio 2007 (project files).
  39. </li>
  40. <li>
  41. <keyword>[D]</keyword>
  42. LCL Imager demo updated - operation timing added. Supports
  43. alpha blending with new Lazarus.
  44. </li>
  45. <li>
  46. <keyword>[+]</keyword>
  47. New features added to OpenGL texture builder: skip mipmap levels
  48. and alternate pow2 texture resizing.
  49. </li>
  50. <li>
  51. <keyword>[+]</keyword>
  52. Pascal translation of Hq resampler with Imaging demo added
  53. to Extras directory.
  54. </li>
  55. <li>
  56. <keyword>[F]</keyword>
  57. Some bugs in library fixed.
  58. </li>
  59. </bulletlist>
  60. </section>
  61. <!-- VERSION 00.24.0 -->
  62. <section>
  63. <mediumcap>Version 0.24.0 - 27th June 2007</mediumcap>
  64. <notes>
  65. For complete list of changes see <keyword>File Notes</keyword>
  66. section at the end of each source file.
  67. </notes>
  68. <bulletlist>
  69. <li>
  70. <keyword>[D]</keyword>
  71. Documentation updated to version <b>0.24</b>.
  72. </li>
  73. <li>
  74. <keyword>[+]</keyword>
  75. <b>TIFF</b> image file format
  76. loading and saving added to <keyword>Extras</keyword>.
  77. Not yet native Object Pascal.
  78. </li>
  79. <li>
  80. <keyword>[+]</keyword>
  81. <b>GIF</b> image file format
  82. loading and saving added to core library.
  83. </li>
  84. <li>
  85. <keyword>[+]</keyword>
  86. New compressed image data format added: <icode>ifBTC</icode>
  87. (block truncation coding).
  88. </li>
  89. <li>
  90. <keyword>[*]</keyword>
  91. Changed headers of some low level interface functions.
  92. </li>
  93. <li>
  94. <keyword>[+]</keyword>
  95. <b>High level</b> interface in <ref>ImagingClasses.pas</ref> unit
  96. was slightly extended.
  97. </li>
  98. <li>
  99. <keyword>[+]</keyword>
  100. Other library enhancements (color conversions for 16bit channels,
  101. new buffered file IO, ...).
  102. </li>
  103. <li>
  104. <keyword>[+/*/F]</keyword>
  105. Compatibility enhancements (Bitmap saving, JPEG loading,
  106. DDS loading/saving,
  107. UNIX compilation, Win64 compilation, FPC compilation, ...).
  108. </li>
  109. <li>
  110. <keyword>[F]</keyword>
  111. Many bugs in library fixed.
  112. </li>
  113. <li>
  114. <keyword>[+]</keyword>
  115. <b>Photoshop PSD</b> image file format
  116. loading and saving added to <keyword>Extras</keyword>.
  117. </li>
  118. </bulletlist>
  119. </section>
  120. <!-- VERSION 00.22.0 -->
  121. <section>
  122. <mediumcap>Version 0.22.0 - 25.01.2007</mediumcap>
  123. <notes>
  124. For complete list of changes see <keyword>File Notes</keyword>
  125. section at the end of each source file.
  126. </notes>
  127. <bulletlist>
  128. <li>
  129. <keyword>[D]</keyword>
  130. Documentation updated to version <b>0.22</b>.
  131. </li>
  132. <li>
  133. <keyword>[E]</keyword>
  134. Some demos were extended, updated, and some bugs were fixed.
  135. </li>
  136. <li>
  137. <keyword>[+]</keyword>
  138. New unit <ref>ImagingColors.pas</ref> added.
  139. Some color space conversion functions are there now.
  140. </li>
  141. <li>
  142. <keyword>[*/F]</keyword>
  143. <b>High level</b> interface in <ref>ImagingClasses.pas</ref> unit
  144. was extended and many bugs were fixed there.
  145. </li>
  146. <li>
  147. <keyword>[+]</keyword>
  148. <b>Canvas</b> class was extended. FrameRect, Rectangle, Ellipse, and Line methods
  149. were added, and you can now specify PenColor, PenMode, and FillMode.
  150. New convolution kernels were added too.
  151. </li>
  152. <li>
  153. <keyword>[+]</keyword>
  154. <b>JPEG 2000</b> image file format
  155. loading and saving added to <keyword>Extras</keyword>.
  156. Not yet native Object Pascal.
  157. </li>
  158. <li>
  159. <keyword>[+]</keyword>
  160. <b>PCX (ZSoft Paintbrush)</b> image file format
  161. loading added to <keyword>Extras</keyword>.
  162. </li>
  163. <li>
  164. <keyword>[+]</keyword>
  165. <b>PBM, PGM, PPM, PAM, PFM (Portable Maps)</b> image file formats
  166. loading and saving added.
  167. </li>
  168. <li>
  169. <keyword>[+]</keyword>
  170. <b>Elder Imagery</b> extension added to <keyword>Extras</keyword>
  171. for loading and saving images from older Bethesda games (Daggerfall mainly).
  172. </li>
  173. <li>
  174. <keyword>[+]</keyword>
  175. Added new <keyword>Extras</keyword> package (located in
  176. <keyword>(ImagingRoot)\Extras</keyword> folder)
  177. with additional extensions, demos, and tools for Imaging.
  178. </li>
  179. <li>
  180. <keyword>[+]</keyword>
  181. Functions added to the low level interface:
  182. <ref>EnumFileFormats</ref>.
  183. </li>
  184. <li>
  185. <keyword>[+/*]</keyword>
  186. Many changes to image file format loader/saver classes
  187. for easier creation of new formats (old formats were updated
  188. and some (Bitmap, DDS) have various parts rewritten).
  189. Some new stuff added (file name masks).
  190. Also file format enumeration functions were added.
  191. </li>
  192. <li>
  193. <keyword>[F]</keyword>
  194. Many bugs in library fixed.
  195. </li>
  196. </bulletlist>
  197. </section>
  198. <!-- VERSION 0.20.0 -->
  199. <section>
  200. <mediumcap>Version 0.20.0 - 30.10.2006</mediumcap>
  201. <bulletlist>
  202. <li>
  203. <keyword>[E]</keyword>
  204. New demo <b>VampConvert</b> replaced old <b>DXTTool</b>.
  205. Demo <b>High Level</b> was removed because other demos
  206. now use high level interface more.
  207. </li>
  208. <li>
  209. <keyword>[+]</keyword>
  210. Added new unit <ref>ImagingCanvases.pas</ref> with
  211. classes for drawing/effects functions added
  212. (not much functionality here yet).
  213. </li>
  214. <li>
  215. <keyword>[+/F]</keyword>
  216. High level interface in <ref>ImagingClasses.pas</ref> unit
  217. was extended and several bugs here were fixed.
  218. </li>
  219. <li>
  220. <keyword>[*]</keyword>
  221. Imaging now compiles and works on 64bit
  222. <b>AMD64</b> CPU architecture (tested in Linux).
  223. </li>
  224. <li>
  225. <keyword>[+]</keyword>
  226. VCL/CLX/LCL support in <ref>ImagingComponents.pas</ref> unit
  227. was extended.
  228. </li>
  229. <li>
  230. <keyword>[+]</keyword>
  231. New image data formats based on half-float (FP16) type added:
  232. <icode>ifR16F</icode>, <icode>ifA16R16G16B16F</icode>, <icode>ifA16B16G16R16F</icode>.
  233. <b>Direct3D</b> and <b>OpenGL</b> extensions now create textures in these formats too.
  234. </li>
  235. <li>
  236. <keyword>[+]</keyword>
  237. New low level interface functions:
  238. <icode>IsFileFormatSupported, GetPixelDirect, SetPixelDirect,
  239. GetPixel32, SetPixel32, GetPixelFP, SetPixelFP</icode>.
  240. <icode>GetPixelBytes</icode> was removed (same data can be obtained by
  241. <icode>GetImageFormatInfo</icode>).
  242. </li>
  243. <li>
  244. <keyword>[F/*]</keyword>
  245. Many many bug fixes in many parts of the library as well as some optimizations,
  246. changes, and tweaks.
  247. </li>
  248. </bulletlist>
  249. </section>
  250. <!-- VERSION 00.18 -->
  251. <section>
  252. <mediumcap>Version 00.18 - 25.04.2006</mediumcap>
  253. <note>Source code is about 620 KiB in size.</note>
  254. <bulletlist>
  255. <li>
  256. <keyword>[D]</keyword>
  257. Documentation updated to version <b>0.18</b>.
  258. </li>
  259. <li>
  260. <keyword>[E]</keyword>
  261. Demos were extended or updated.
  262. </li>
  263. <li>
  264. <keyword>[+]</keyword>
  265. High level interface in <ref>ImagingClasses.pas</ref> unit
  266. was extended.
  267. </li>
  268. <li>
  269. <keyword>[*/+]</keyword>
  270. Mipmap generation in library core and
  271. in <keyword>Direct3D 9</keyword> and <keyword>OpenGL</keyword>
  272. extensions is now filtered.
  273. Also <keyword>Direct3D 9</keyword> extension was extended and works
  274. with D3D surfaces now.
  275. </li>
  276. <li>
  277. <keyword>[F]</keyword>
  278. There was a bug in conversion between Imaging image
  279. and <icode>TBitmap</icode> in <ref>ImagingComponents.pas</ref>
  280. unit when using <b>LCL</b> component set (with <b>GTK</b> interface).
  281. </li>
  282. <li>
  283. <keyword>[*]</keyword>
  284. Imaging now compiles and works in
  285. <b>FreeBSD</b> and maybe in other Unixes as well.
  286. </li>
  287. <li>
  288. <keyword>[+]</keyword>
  289. Functions added to the low level interface:
  290. <icode>StretchRect</icode>.
  291. </li>
  292. <li>
  293. <keyword>[+/*]</keyword>
  294. Filtered resizing and stretching implemented. <icode>ResizeImage</icode>
  295. and other functions now take advantage of it.
  296. </li>
  297. <li>
  298. <keyword>[+]</keyword>
  299. <b>MNG (Multiple Network Graphics)</b> image file format loading and
  300. saving added. Supports usage of <b>PNG</b> and <b>JNG</b> frames, animation
  301. capabilities are not used.
  302. </li>
  303. <li>
  304. <keyword>[+]</keyword>
  305. <b>JNG (JPEG Network Graphics)</b> image file format loading and
  306. saving added. Supports 8 bit gray and 24 bit RGB images with
  307. optional alpha channel.
  308. </li>
  309. <li>
  310. <keyword>[*/-]</keyword>
  311. <b>PNG</b> support moved from <icode>ImagingPng</icode> unit to
  312. the new <ref>ImagingNetworkGraphics.pas</ref> unit. Old unit was
  313. removed from Imaging.
  314. </li>
  315. <li>
  316. <keyword>[+]</keyword>
  317. New unit <ref>ImagingNetworkGraphics.pas</ref> added for
  318. future handling of all Network Graphics image formats.
  319. </li>
  320. </bulletlist>
  321. </section>
  322. <!-- VERSION 00.16 -->
  323. <section>
  324. <mediumcap>Version 00.16 - 22.12.2005</mediumcap>
  325. <note>Source code is about 535 KiB in size.</note>
  326. <bulletlist>
  327. <li>
  328. <keyword>[D]</keyword>
  329. Documentation updated to version <b>0.16</b>.
  330. </li>
  331. <li>
  332. <keyword>[E]</keyword>
  333. New demos created: <b>D3D Demo</b>, <b>OpenGL Demo</b> (Object Pascal).
  334. </li>
  335. <li>
  336. <keyword>[+]</keyword>
  337. Functions added to the low level interface:
  338. <icode>RotateImage</icode>.
  339. </li>
  340. <li>
  341. <keyword>[E]</keyword>
  342. New demos created: <b>SDL Demo</b>, <b>LCL Demo</b> (Object Pascal).
  343. </li>
  344. <li>
  345. <keyword>[+]</keyword>
  346. Extension for creating/loading/saving <keyword>Direct3D 9</keyword>
  347. textures using Imaging added to the new <ref>ImagingDirect3D9.pas</ref> unit.
  348. </li>
  349. <li>
  350. <keyword>[+]</keyword>
  351. Extension for creating/loading/saving <keyword>SDL</keyword>
  352. surfaces using Imaging added to the new <ref>ImagingSDL.pas</ref> unit.
  353. </li>
  354. <li>
  355. <keyword>[+]</keyword>
  356. Extension for creating/loading/saving <keyword>OpenGL</keyword>
  357. textures using Imaging added to the new <ref>ImagingOpenGL.pas</ref> unit.
  358. </li>
  359. <li>
  360. <keyword>[+]</keyword>
  361. Functions added to the low level interface:
  362. <icode>ReplaceColor</icode>.
  363. </li>
  364. <li>
  365. <keyword>[+]</keyword>
  366. <icode>TGraphic</icode> descendant classes which use Imaging
  367. added for <keyword>VCL</keyword>, <keyword>CLX</keyword> and
  368. <keyword>LCL</keyword> components sets. They are in the new
  369. <ref>ImagingComponents.pas</ref> unit.
  370. </li>
  371. <li>
  372. <keyword>[F*]</keyword>
  373. Bugs (in 48/64 bit image handling) fixed in
  374. <b>PNG (Portable Network Graphics)</b> image file format
  375. handling and support for color keying (if present in image) added.
  376. </li>
  377. <li>
  378. <keyword>[F]</keyword>
  379. Headers of some functions exported from Imaging dll/so library were
  380. changed in <ref>ImagingExport.pas</ref> unit and in the wrappers for
  381. the other languages.
  382. </li>
  383. <li>
  384. <keyword>[+]</keyword>
  385. New options <icode>ImagingLoadOverrideFormat</icode> and
  386. <icode>ImagingSaveOverrideFormat</icode> added. Also all
  387. option values are checked for validity before they are used.
  388. </li>
  389. </bulletlist>
  390. </section>
  391. <!-- VERSION 00.14 -->
  392. <section>
  393. <mediumcap>Version 00.14 - 10.07.2005</mediumcap>
  394. <note>Source code is about 418 KiB in size.</note>
  395. <bulletlist>
  396. <li>
  397. <keyword>[D]</keyword>
  398. Documentation updated to version <b>0.14</b>.
  399. </li>
  400. <li>
  401. <keyword>[E]</keyword>
  402. New demos created: <b>High Level</b> (Object Pascal),
  403. <b>dotNET Demo01</b> (Delphi.NET).
  404. </li>
  405. <li>
  406. <keyword>[*]</keyword>
  407. You can now use Imaging with <b>MPL</b> or <b>LGPL</b> license.
  408. </li>
  409. <li>
  410. <keyword>[*]</keyword>
  411. Large changes in <b>Delphi.NET</b> wrapper. Function names and
  412. parameter types are now almost same as in <b>Object Pascal</b>
  413. without using dll. Some <b>.NET</b> only things added too.
  414. </li>
  415. <li>
  416. <keyword>[+]</keyword>
  417. Functions added to low level interface:
  418. <icode>NewPalette, CopyPalette, FreePalette,
  419. DetermineFileFormat, DetermineStreamFormat, DetermineMemoryFormat, GetPixelsSize</icode>.
  420. </li>
  421. <li>
  422. <keyword>[*]</keyword>
  423. Pixel format conversions rewritten to get better color
  424. quality when converting from low bitcounts to higher
  425. (visible mainly when using formats like <icode>ifR3G3B2</icode>
  426. or <icode>ifA4R4G4B4</icode>).
  427. </li>
  428. <li>
  429. <keyword>[+]</keyword>
  430. Functions added to low level interface:
  431. <icode>MapImageToPalette, FillRect, SplitImage, MakePaletteForImages</icode>.
  432. </li>
  433. <li>
  434. <keyword>[+]</keyword>
  435. Basic high level interface created. Classes
  436. <icode>TSingleImage</icode> and <icode>TMultiImage</icode>
  437. added to <ref>ImagingClasses.pas</ref> unit.
  438. </li>
  439. <li>
  440. <keyword>[+]</keyword>
  441. Functions added to low level interface:
  442. <icode>CopyRect</icode>.
  443. </li>
  444. <li>
  445. <keyword>[+]</keyword>
  446. New image formats added: <icode>
  447. ifA16Gray16</icode>.
  448. </li>
  449. <li>
  450. <keyword>[+]</keyword>
  451. <b>PNG (Portable Network Graphics)</b> image file format loading and
  452. saving added. Supports 1, 2, 4, 8, 16, 24, 32, 48 and 64 bit images.
  453. 1, 2 and 4 bit images can be only loaded.
  454. </li>
  455. <li>
  456. <keyword>[F]</keyword>
  457. Various bugs fixed in <icode>Imaging, ImagingBitmap</icode>
  458. and <icode>ImagingExport</icode> units,
  459. look there for details.
  460. </li>
  461. <li>
  462. <keyword>[+]</keyword>
  463. Functions added to low level interface:
  464. <icode>GenerateMipMaps, TestImagesInArray</icode>.
  465. </li>
  466. <li>
  467. <keyword>[+]</keyword>
  468. Added wrapper unit for <b>Delphi.NET</b>.
  469. </li>
  470. </bulletlist>
  471. </section>
  472. <!-- VERSION 00.12 -->
  473. <section>
  474. <mediumcap>Version 00.12 - 13.03.2005</mediumcap>
  475. <note>First version released to the public. Source code size
  476. was about 250 KiB in size.</note>
  477. <bulletlist>
  478. <li>
  479. <keyword>[*]</keyword>
  480. <b>DXTC</b> compression and decompression code optimized
  481. and it is now about 20% faster.
  482. </li>
  483. <li>
  484. <keyword>[T]</keyword>
  485. <b>VampyreDoc</b> tool for documentation management created.
  486. It can create <b>XHMTL</b> and <b>HTMLHelp</b> documentation
  487. from <b>XML</b> based projects.
  488. </li>
  489. <li>
  490. <keyword>[+]</keyword>
  491. New field <icode>IsRBSwapped</icode>
  492. added to <ref>TImageFormatInfo</ref> record.
  493. It is used in conversions and in channel related functions to
  494. distinguish between ARGB and ABGR formats.
  495. </li>
  496. <li>
  497. <keyword>[+]</keyword>
  498. New image formats added: <icode>
  499. ifA32R32G32B32F, ifA16B16G16R16, ifB16G16R16</icode>.
  500. </li>
  501. <li>
  502. <keyword>[+]</keyword>
  503. Functions added to low level interface:
  504. <icode>ReduceColors, GetImageFormatInfo</icode>.
  505. </li>
  506. <li>
  507. <keyword>[*]</keyword>
  508. Image format conversions between all types of formats are now
  509. supported (<icode>ChannelToIndex</icode> and
  510. <icode>FloatToIndex</icode> implemented).
  511. </li>
  512. <li>
  513. <keyword>[+]</keyword> Color quantization with support
  514. for alpha channel (using Median Cut algorithm) added.
  515. </li>
  516. <li>
  517. <keyword>[F]</keyword>
  518. Fixed huge memory leak in <b>Windows Bitmap</b> file format (occurred when
  519. loading 8bit uncompressed image).
  520. </li>
  521. <li>
  522. <keyword>[E]</keyword>
  523. Demos created: <b>DXT Tool</b> (Object Pascal), <b>Test</b> (C/C++),
  524. <b>VCL Image Browser</b> (Object Pascal).
  525. </li>
  526. <li>
  527. <keyword>[U]</keyword>
  528. <b>Vampyre Imaging Library</b> project registered at
  529. <link url="http://sourceforge.net">SourceForge</link> (03.12.2004).
  530. </li>
  531. <li>
  532. <keyword>[+]</keyword>
  533. Added <icode>PushOptions</icode> and
  534. <icode>PopOptions</icode> low level functions for
  535. pushing and popping Imaging options.
  536. </li>
  537. <li>
  538. <keyword>[*]</keyword>
  539. <icode>SwapChannels</icode> and
  540. <icode>SwapChannelsOfPalette</icode>
  541. low level functions extended
  542. to allow to swap all channels, not only red and blue.
  543. </li>
  544. <li>
  545. <keyword>[*]</keyword>
  546. Checked and if necessary added support for special image formats
  547. (only <b>DXTC</b> images now) in all low level functions.
  548. </li>
  549. <li>
  550. <keyword>[+]</keyword>
  551. <b>DXT1, DXT3</b> and <b>DXT5</b> decoding and encoding added.
  552. </li>
  553. <li>
  554. <keyword>[+]</keyword>
  555. <b>DDS (DirecDraw Surface)</b> image file format saving added.
  556. Supports mipmaps, cube maps, volume textures and ordinary images.
  557. </li>
  558. <li>
  559. <keyword>[E]</keyword>
  560. Demos created: <b>Benchmark</b> (Object Pascal/C++).
  561. </li>
  562. </bulletlist>
  563. </section>
  564. <!-- VERSION 00.11 -->
  565. <section>
  566. <mediumcap>Version 00.11 - 18.11.2004</mediumcap>
  567. <note>Source code size was about 150 KiB in size.</note>
  568. <bulletlist>
  569. <li>
  570. <keyword>[+]</keyword>
  571. New image format added: <icode>
  572. ifR32F, ifDXT1, ifDXT3, ifDXT5</icode>.
  573. </li>
  574. <li>
  575. <keyword>[+]</keyword>
  576. <b>DDS (DirecDraw Surface)</b> image file format loading added.
  577. Supports mipmaps, cube maps, volume textures and ordinary images.
  578. </li>
  579. <li>
  580. <keyword>[+]</keyword>
  581. New image formats added: <icode>
  582. ifX8R8G8B8, ifX1R5G5B5, ifX4R4G4B4</icode>.
  583. </li>
  584. <li>
  585. <keyword>[+]</keyword>
  586. Property <icode>SupportedFormats</icode> added to
  587. <icode>TImageFileFormat</icode> class.
  588. It is set of <icode>TImageFormat</icode> values
  589. which can be saved by this file format. Also
  590. <icode>MakeCompatible</icode> method was added.
  591. It converts unsupported formats to supported before saving.
  592. </li>
  593. <li>
  594. <keyword>[*]</keyword>
  595. Made <b>PasZLib</b> library compatible with all compilers and platforms
  596. supported by Imaging (needed for PNG support).
  597. </li>
  598. <li>
  599. <keyword>[+]</keyword>
  600. New low level functions for palette support added: <icode>
  601. FindColor, FillGrayscalePalette, FillCustomPalette, SwapChannelsOfPalette</icode>.
  602. </li>
  603. <li>
  604. <keyword>[+]</keyword>
  605. Added import unit and header for Object Pascal and C/C++ to
  606. enable using Imaging library compiled into dynamic link library (<b>dll/so</b>).
  607. </li>
  608. <li>
  609. <keyword>[+]</keyword>
  610. <b>BMP (Windows Bitmap)</b> image file format loading and saving added.
  611. Supports 1, 4, 8, 16, 24 and 32 bit images with or without RLE compression.
  612. 1 and 4 bit images can be only loaded.
  613. </li>
  614. <li>
  615. <keyword>[+]</keyword>
  616. Added support for function inlining in <b>Delphi 2005</b> (although not tested yet)
  617. and <b>Free Pascal</b> (although compiler crashes on this now).
  618. </li>
  619. <li>
  620. <keyword>[+]</keyword>
  621. New image formats added: <icode>
  622. ifA8Gray8, ifR3G3B2, ifR1G1B1</icode>.
  623. </li>
  624. <li>
  625. <keyword>[+]</keyword>
  626. New low level functions added: <icode>
  627. ConvertImage, FlipImage, MirrorImage, SwapChannels, CloneImage,
  628. FreeImagesInArray, ResizeImage</icode>.
  629. </li>
  630. <li>
  631. <keyword>[+]</keyword>
  632. Added image format conversion engine which will support all
  633. members of <icode>TImageFormat</icode>.
  634. Some indexed and special format conversions are not implemented yet.
  635. </li>
  636. <li>
  637. <keyword>[+]</keyword>
  638. <b>TGA (Truevision Targa)</b> image file format loading and saving added.
  639. Supports 8, 15/16, 24 and 32 bit images with or without RLE compression.
  640. </li>
  641. </bulletlist>
  642. </section>
  643. <!-- VERSION 00.10 -->
  644. <section>
  645. <mediumcap>Version 00.10 - 23.09.2004</mediumcap>
  646. <note>First working version. Source code size was about 80 KiB in size.</note>
  647. <bulletlist>
  648. <li>
  649. <keyword>[+]</keyword>
  650. <b>JPEG (Joint Photographic Experts Group)</b> image file format loading and saving added.
  651. Supports 8 and 24 bit images.
  652. </li>
  653. <li>
  654. <keyword>[*]</keyword>
  655. Made <b>PasJpeg</b> library compatible with all compilers and platforms
  656. supported by Imaging.
  657. </li>
  658. <li>
  659. <keyword>[+]</keyword>
  660. Initial low level functions added: <icode>
  661. InitImage, NewImage, TestImage, FreeImage,
  662. LoadImageFromFile, LoadImageFromStream, LoadImageFromMemory,
  663. LoadMultiImageFromFile, LoadMultiImageFromStream, LoadMultiImageFromMemory,
  664. SaveImageToFile, SaveImageToStream, SaveImageToMemory, SaveMultiImageToFile,
  665. SaveMultiImageToStream, SaveMultiImageToMemory, SetOption, GetOption,
  666. SetUserFileIO, ResetFileIO, GetPixelBytes</icode>.
  667. </li>
  668. <li>
  669. <keyword>[+]</keyword>
  670. Initial image formats added: <icode>
  671. ifUnknown, ifDefault, ifIndex8, ifGray8, ifGray16, ifGray32,
  672. ifGray64, ifR5G6B5, ifA1R5G5B5, ifA4R4G4B4, ifR8G8B8, ifA8R8G8B8,
  673. ifR16G16B16, ifA16R16G16B16, ifA32B32G32R32F</icode>.
  674. </li>
  675. <li>
  676. <keyword>[*]</keyword>
  677. Basic structure of library created.
  678. </li>
  679. <li>
  680. <keyword>[U]</keyword>
  681. <b>Vampyre Imaging Library</b> project started (about 08.09.2004).
  682. </li>
  683. </bulletlist>
  684. </section>
  685. <br /><br />
  686. <anchor name="legend"><scap>Changes Legend</scap></anchor>
  687. <list>
  688. <li><keyword>[+]</keyword> Addition (new features, functions etc.)</li>
  689. <li><keyword>[-]</keyword> Removal (old features, functions etc.)</li>
  690. <li><keyword>[*]</keyword> Change (existing features, functions etc. changed or extended)</li>
  691. <li><keyword>[F]</keyword> Bug fix</li>
  692. <li><keyword>[D]</keyword> Documentation related</li>
  693. <li><keyword>[E]</keyword> Examples and demos related</li>
  694. <li><keyword>[T]</keyword> Tools related</li>
  695. <li><keyword>[U]</keyword> Unique event</li>
  696. </list>
  697. <link url="#top">Top</link>
  698. </chapter>
  699. </doc>