CxImage的不同层
CxImage对象同样是图层的集合,每个图层的缓冲区只在需要的时候申请。
CxImage::pDib是背景图像。
CxImage::pAlpha是透明层。CxImage::pSelection是选区层,用于创建要对图像的感兴趣区域进行处理的选择区域。在这三个特殊层之上,你可以添加通用的其他层,这些层都保存在CxImage::ppLayers中。通用层也是完整的CxImage对象,所以你可以创建复杂的嵌套层。CxImage::ppFrames
为动态图像(GIF)所预留。
CxImage类成员和操作
CxImage使用Doxygen
产生文档,但是由于一些历史的原因,很多不太通用的功能还没有文档。类成员的参考资料,发布历史以及许可信息都可以在这里(here )找到。
支持的格式和选项
整个CxImage库非常大,在主要的头文件ximcfg.h中,你可以找到很多编译选项开关,用于启用或者禁用某些特定的图像格式或者功能。每个JPG, PNG和
TIFF库将使得应用程序增加大约100KB的大小,同时,CxImage将使得应用程序增加大约50KB的大小。所以,为了减小你的应用程序的体积,你应该支持和链接你的应用程序确实需要的格式。
格式 |
定义#define |
需要的库 |
尺寸 [KB] |
BMP GIF ICO TGA PCX WBMP WMF SKA |
CXIMAGE_SUPPORT_BMP CXIMAGE_SUPPORT_GIF CXIMAGE_SUPPORT_ICO CXIMAGE_SUPPORT_TGA CXIMAGE_SUPPORT_PCX CXIMAGE_SUPPORT_WBMP CXIMAGE_SUPPORT_WMF CXIMAGE_SUPPORT_SKA |
内建
|
24
|
JPEG |
CXIMAGE_SUPPORT_JPG |
jpeg
|
88
|
PNG |
CXIMAGE_SUPPORT_PNG |
png, zlib
|
104
|
MNG |
CXIMAGE_SUPPORT_MNG |
mng, zlib, jpeg
|
148
|
TIFF |
CXIMAGE_SUPPORT_TIF |
tiff, zlib, jpeg
|
124
|
JBIG |
CXIMAGE_SUPPORT_JBG |
jbig
|
28
|
PNM,PPM,PGM RAS |
CXIMAGE_SUPPORT_PNM CXIMAGE_SUPPORT_RAS |
jasper
|
176
|
JPEG-2000 |
CXIMAGE_SUPPORT_JP2 CXIMAGE_SUPPORT_JPC CXIMAGE_SUPPORT_PGX |
jasper
|
176
|
RAW |
CXIMAGE_SUPPORT_RAW |
libdcr |
132 |
选项 |
定义#define |
尺寸[KB] |
CxImage核心 |
所有开关关闭 |
20 |
几何变换 (geometric transformations) |
CXIMAGE_SUPPORT_TRANSFORMATION |
16 |
图像处理
(image processing) |
CXIMAGE_SUPPORT_DSP |
24 |
绘制和特殊的窗口函数
(drawing and windows specific functions) |
CXIMAGE_SUPPORT_WINDOWS |
12 |
透明
(transparency) |
CXIMAGE_SUPPORT_ALPHA |
4 |
选择
(selections) |
CXIMAGE_SUPPORT_SELECTION |
4 |
多层支持
(multiple layers) |
CXIMAGE_SUPPORT_LAYERS |
< 4 |
图像格式转换
(graphic formats conversion) |
CXIMAGE_SUPPORT_DECODE CXIMAGE_SUPPORT_ENCODE |
< 4 |
插值函数
(interpolation functions) |
CXIMAGE_SUPPORT_INTERPOLATION |
< 4 |
异常处理
(exception handling) |
CXIMAGE_SUPPORT_EXCEPTION_HANDLING |
< 4 |
在你的项目中使用CxImage
如下图所示,CxImgLib.dsw工作空间展示了构建一个包含绝大多数功能和支持大多数图像格式的应用程序(demo.exe)所需要的所有库。你必须先编译所有的库,然后才可以链接你最终的应用程序。
|