History.xml 31 KB

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