tbyxyz

统计

留言簿

阅读排行榜

评论排行榜

2008年1月15日 #

不错的C++图像库DevIL

在使用CxImage显示gif文件时,发现CxImage解一个299帧的gif动画,在debug的时候花了好几时秒,
CxImage
在处理gif时效率太低了。
在网上搜索了一些,支持比较强的图像库:
imageMagick--
非常强大,在MFC中不好用,要把图片显示到窗口非常麻烦,至少目前没有发现在Windows窗口中显示的方法,还得加一堆乱七八糟的dll

还是DevIL比较好使一点,感觉DevIL封装的不是很好,全局变量太多,多线程操作极不安全。用C++在封装一下,可能就好使一点。

附:

DevIL Feature List

Supports loading of:

  • .bmp
  • .cut
  • .dcx
  • .dds
  • .ico
  • .gif
  • .jpg
  • .lbm
  • .lif
  • .mdl
  • .pcd
  • .pcx
  • .pic
  • .png
  • .pnm
  • .psd
  • .psp
  • .raw
  • .sgi
  • .tga
  • .tif
  • .wal
  • .act
  • .pal
  • .hdr
  • Doom graphics

Supports saving of:

  • .bmp
  • .dds
  • .jpg
  • .pcx
  • .png
  • .pnm
  • .raw
  • .sgi
  • .tga
  • .tif
  • .pal
  • .hdr

Library Features

  • Portable, supports Windows, Mac OS X and *nix.
  • OpenGL-style syntax.
  • Use of image names instead of ugly pointers.
  • Loading from files, file streams or memory "lumps".
  • Direct access to data through ilGetData() and ilSetData().
  • Support for luminance, rgb(a), bgr(a) and colour-indexed images.
  • Support for 3 different numbers of bits per channel.
  • Conversion between all formats and datatypes (including palettes).
  • User-defined automatic conversions if desired when loading images.
  • Automatic conversion when saving images if needed.
  • Automatic conversion of colour-indexed images to truecolour images if desired.
  • Controllable compression when saving.
  • Maintains a state stack that can be pushed and popped.
  • Full support for 3d texture volumes (3d images).
  • Validation of images.
  • Support for layers.
  • Support for mipmaps.
  • Support for animations.
  • User-specified clear colour.
  • Can load a default image if loading fails.
  • User-specified hints.
  • Use of key colours.
  • Support for overlaying an image on top of another.
  • Allows the user to specify their own loading and saving callbacks, even overriding the default ones.
  • Support for user-specified read and write functions.
  • Delphi support.
  • Visual Basic support.
  • Linux support.
  • Can pick and choose which features will be used to create smaller dlls.
  • Choose whether to use the Intel Jpeg Library or libjpeg.
  • A whole host of effects and filters to apply to images, such as embossing and edge detection.
  • Images can be resized or even be put on a larger background (enlarged canvas).
  • OpenGL, Allegro, Windows GDI and DirectX API support.

 


posted @ 2008-01-15 17:17 hosea 阅读(4665) | 评论 (5)编辑 收藏

仅列出标题