在使用CxImage顯示gif文件時(shí),發(fā)現(xiàn)CxImage解一個(gè)299幀的gif動(dòng)畫,在debug的時(shí)候花了好幾時(shí)秒,
CxImage在處理gif時(shí)效率太低了。
在網(wǎng)上搜索了一些,支持比較強(qiáng)的圖像庫:
imageMagick--非常強(qiáng)大,在MFC中不好用,要把圖片顯示到窗口非常麻煩,至少目前沒有發(fā)現(xiàn)在Windows窗口中顯示的方法,還得加一堆亂七八糟的dll。
還是DevIL比較好使一點(diǎn),感覺DevIL封裝的不是很好,全局變量太多,多線程操作極不安全。用C++在封裝一下,可能就好使一點(diǎn)。
附:
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.