APNG Support for Imaging

I started working on support for APNG format for Imaging library. APNG is unofficial extension of PNG image file format created by two guys from Mozilla Corporation. The point of APNG is to allow storing simple animations in PNG files (hence the "A" for "Animated").

There is already PNG-like chunk based format for animations called MNG (already supported by Imaging - at least the basic features). However, MNG is quite complex format and its support among browsers and image viewers/editors is lacking. Code library supporting all MNG features is huge.

APNG on the other hand is just an extension of PNG and its implementation is not so complex. I'm going to load only the raw frames from files at first and see what will have to be done to support animating the frames next. Canvas class will have to be used here for alpha blending subsequent frames to previous ones. I'll add option to turn the animating on/off just like it is available for animated GIF files.

More info about APNG: http://www.animatedpng.com and https://wiki.mozilla.org/APNG_Specification.

Imaging in Mac OS X

I wasn’t sure if Vampyre Imaging Library works right in Mac OS X until few weeks ago. One poster in Imaging’s forum wrote a post about scrambled images produced by the library on Mac OS X. Fortunately, the problem was related only to Lazarus LCL support – all other functionality worked fine.

After not so straightforward installation of Mac OS X in VMWare I fixed the issue just by changing number “24” to “32” in the code (TRawImage.Description.Depth field, LCL raw image to TBitmap conversion). Apparently, Carbon created bitmap with 6 bits per color channel. Now I just need to check if 24->32 change doesn’t break anything when using other LCL widget sets (I’m sure there was a reason for 24bits since I vaguely remember 32bits were there few years ago) – so maybe conditional compilation will be needed here.

Another issue I noticed is that LCL Imager demo couldn’t load default image (Tigers.jpg) that is displayed when it is started without parameters. Demo uses relative path to the image but (from Demos/Bin to Demos/Data directory). Mac OS X application LCLImager.app is placed in Demos/Bin directory by Lazarus but it is not a simple single file. It’s a directory itself and actual demo executable is located somewhere inside. I’ve not really decided on solution yet. Maybe embed the image in the executable as resource?

See the difference?

See the difference?

Imaging 0.26.2 released!

My Vampyre Imaging Library was updated to version 0.26.2 few days ago. This was mostly fix/patch/update release with no significant new features.

I decided to remove Kylix support (CLX graphic classes, project files, build scripts, core library still compiles). It's not working properly on many (all?) current Linux distros (so I can't test) and it was abandoned by Borland/Codegear quite some time ago. It was nice to have DCC compiler in Linux and it also made Borland to make Delphi RTL crossplatform. There are rumors about crosscompiling features in upcoming Delphi releases (in 2010?)  so maybe we'll see DCC in Linux again.

Instead of Kylix project files there are new ones for Delphi 2009. Imaging itself didn't require many fixes to compile and work with Delphi 2009,  most of them were related to text-based file format loaders (XMP, PNM) and external libraries (JpegLib, ZLib).

More info and downloads at Imaging's homepage.

Imaging 0.24.0 Released!

Version 0.24.0 of Imaging has been released!
Main news/changes in 0.24.0:

  • New image file format support: GIF (native), TIFF (libtiff), PSD (native).
  • New image data format: BTC (block truncation coding).
  • File format compatibility fixes (for BMP, JPEG, and DDS)
    and platform/compiler support fixes (Win64, UNIX, FPC, ...).
  • Bug fixes and some enhancements (buffered file IO, ...).

Visit Vampyre Imaging Library Homepage for more news and downloads or Imaging Forum.

UFO: Extraterrestrials Released

The game I have been working on for Chaos Concept was finally released. If you liked old XCOM games you may like this one as well. It has geoscape mode with base building, research, UFO interceptions, etc. and turn based tactical missions just like in XCOM.

UFO: Extraterrestrials homepage:
UFO at Gamers Gate (digital download for EU and rest of the globe except North America): Gamers Gate UFO page.
UFO at Matrix Games (digital download for North America): Matrix Games UFO page.

Boxed version will be available in few weeks.
Now working on first patch...

Imaging Extras Package – Work In Progress

I am working on package with extra content for Vampyre Imaging Library. That means additional image file formats, new extensions, demos, and other stuff.

File formats in extras will also include JPEG2000. Reason why it won't be in the core library is this: there is no native Pascal library for loading/saving JPEG2000 images (at least I haven't found one) so Imaging will link to C library compiled to object files (OpenJPEG most probably). Therefore it won't work on all platforms supported by Imaging (and thus cannot be included in core library).

There is also PCX loader, there will be PNM (for PBM, PGM, PPM, and PAM) loader/saver, and maybe even GIF support (if there will be enough time to implement it). I have converted my old Daggerfall image/texture loaders to Imaging too and added Redguard and BattleSpire support.

First version of extras package will be released around the end of 2006. New Imaging release will be made too because stuff in extras depends on some changes made in core library since 0.20 release. Current working version of Imaging and extras package is in project's SubVersion repository.

Visit Vampyre Imaging Library homepage