cxImage处理tif图片时需要注意的地方
2013-03-16 00:14
267 查看
tif图片主要分为两种:一种是单张的,还有一种是分层的,分层的tif图片其实就一张tif图片里面包含多张图片,然后可以翻页的那种,有点类似于动态GIF图片,不过tif的翻页不是自动的,需要手动点击翻页按钮才行,下面就是一张tif分层的图片(网上不太好找,可以自己下一个AcdSee做tif的图片)。
一、使用cxImage读取tif图片
对于单张的tif图片,直接可以用以下方式来读取:
对于分层的tif图片,可以定义一个CxImage的数组(不是CxImage*类型的数组)来保存分层tif图片中每张图片,具体如下所示:
二、保存tif图片
保存tif格式图片也分为单张的和分层的tif图片两种。
1、单张tif图片的保存
直接使用cxImg->Save(lpszPathName,CXIMAGE_FORMAT_TIF);
2、分层tif图片的保存
三、选择tif图片的压缩方式
tif图片的可选压缩方式有很多种,比较常见的有JPEG,LZW,CCITT_T6等等,具体可以在相关的头文件里面查找。
选择相应的压缩方式可以使用CxImage的SetCodecOption方法。
例如:cxImg->SetCodecOption(COMPRESSION_LZW);
需要注意的是,当选择JPEG压缩方式的时候,只能处理灰度或者是RGB图像
一、使用cxImage读取tif图片
对于单张的tif图片,直接可以用以下方式来读取:
CxImage* cxImg; cxImg->Load(lpszPathName,CXIMAGE_FORMAT_TIF);
对于分层的tif图片,可以定义一个CxImage的数组(不是CxImage*类型的数组)来保存分层tif图片中每张图片,具体如下所示:
CxImage* imgs;//此处为一个CxImage类型的数组 CxImage* cxImg; if(cxImg->Load(lpszPathName,CXIMAGE_FORMAT_TIF)) { int frameNum=cxImg->GetNumFrames();//获得分层tif图片的帧数 imgs=new CxImage[frameNum];//动态创建CxImage数组 for(int i=0;i<frameNum;i++) { cxImg->SetFrame(i);//设置当前要读取的帧为第i帧 cxImg->Load(lpszPathName,CXIMAGE_FORMAT_TIF); imgs[i].Copy(*cxImg); } }
二、保存tif图片
保存tif格式图片也分为单张的和分层的tif图片两种。
1、单张tif图片的保存
直接使用cxImg->Save(lpszPathName,CXIMAGE_FORMAT_TIF);
2、分层tif图片的保存
FILE* hFile; hFile=fopen(lpszPathName,"w+b"); CxImageTIF tifImg;//需要增加头文件ximatif.h,该头文件在CxImage目录下 for(int i=0;i<frameNum;i++) { //frameNum和imgs[i]的定义和读取分层tif图片中一样 tifImg.Copy(imgs[i]); tifImg.Encode(hFile,TRUE); } fclose(hFile);
三、选择tif图片的压缩方式
tif图片的可选压缩方式有很多种,比较常见的有JPEG,LZW,CCITT_T6等等,具体可以在相关的头文件里面查找。
选择相应的压缩方式可以使用CxImage的SetCodecOption方法。
例如:cxImg->SetCodecOption(COMPRESSION_LZW);
需要注意的是,当选择JPEG压缩方式的时候,只能处理灰度或者是RGB图像
相关文章推荐
- cxImage处理tif图片时需要注意的地方
- windows 处理语音时需要注意的地方(directSound, ACM)
- strcat、strcpy、strcmp的实现,以及有关字符串处理需要注意的地方
- IOS 处理图片要注意的地方
- KindEditor上传图片几点需要注意的地方
- NSData 读取 png 图片需要注意的地方~
- 处理XML需要注意的几个地方
- WinCE 中关于16BPP和24BPP之间的差别以及程序处理需要注意的地方 (转贴)
- 将鼠标指针修改为自定义图片需要注意的几个地方
- 在递归处理树时,需要注意的地方
- ASP.NET中异常处理需要注意的地方
- Windows的消息处理需要注意的地方
- WPF应用加载图片URI指定需要注意的地方
- winform 通过webservice向服务器提交图片需要注意的地方
- Jquery Ajax的Get方式时需要注意URL地方
- 有关ip地址转int型存储需要注意的地方
- linux中断处理程序需要注意的参数问题
- Sinfor AC版本升级需要注意的地方
- SOCKET连接优化需要注意的地方。
- php需要注意的地方