设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 开源资讯 查看内容

十全大补:CxImage图像处理类库

2009-3-6 09:19| 发布者: joejoe0332| 查看: 16495| 评论: 0

如何创建一副多页的TIFF

CxImage *pimage[3];
pimage[
0]=&image1;
pimage[
1]=&image2;
pimage[
2]=&image3;
FILE
* hFile;
hFile
= fopen("multipage.tif","w+b");
CxImageTIF multiimage;
multiimage.Encode(hFile,pimage,
3);
fclose(hFile);
或者
FILE
* hFile;
hFile
= fopen("c:\\multi.tif","w+b");
CxImageTIF image;
image.Load(
"c:\\1.tif",CXIMAGE_FORMAT_TIF);
image.Encode(hFile,
true);
image.Load(
"c:\\2.bmp",CXIMAGE_FORMAT_BMP);
image.Encode(hFile,
true);
image.Load(
"c:\\3.png",CXIMAGE_FORMAT_PNG);
image.Encode(hFile);
fclose(hFile);

  如何复制和粘贴图像

//复制(copy)
HANDLE hDIB = image->CopyToHandle();
if (::OpenClipboard(AfxGetApp()->m_pMainWnd->GetSafeHwnd())) {
    
if(::EmptyClipboard()) {
        
if (::SetClipboardData(CF_DIB,hDIB) == NULL ) {
            AfxMessageBox(
"Unable to set Clipboard data" );
}    }    }
CloseClipboard();
//粘贴(paste)
HANDLE hBitmap=NULL;
CxImage
*newima = new CxImage();
if (OpenClipboard()) hBitmap=GetClipboardData(CF_DIB);
if (hBitmap) newima->CreateFromHANDLE(hBitmap);
CloseClipboard();

  如何在图片框控件(Picture Box)中显示图像 

HBITMAP m_bitmap = NULL;
CxImage image(
"myfile.png", CXIMAGE_FORMAT_PNG);
...
CDC
* hdc = m_picture.GetDC();
HBITMAP m_bitmap
= image.MakeBitmap(hdc->m_hDC);
HBITMAP hOldBmp
= m_picture.SetBitmap(m_bitmap);
if (hOldBmp) DeleteObject(hOldBmp);
if (hdc->m_hDC) m_picture.ReleaseDC(hdc);
...
if (m_bitmap) DeleteObject(m_bitmap);

  译后序:

  关于图像处理库,我相信大家有一个共同的疑问:这么多图像处理库,我该如何选择?在CSDN的blog中有这样一段文字,比较透彻地回答了这个问题,感谢作者的透彻解释:

  "CxImage类库是一 个优秀的图像操作类库。它可以快捷地存取、显示、转换各种图像。有的读者可能说,有那么多优秀的图形库,如OpenIL,FreeImage, PaintLib等等,它们可谓是功能强大,齐全,没必要用其它的类库。但我要说,这些类库基本上没有免费的,使用这些类库,你要被这样那样的许可协议所 束缚。

  在这点上,CxImage类库是完全免费的。另外,在使用上述类库时,你会遇到重重麻烦。因为它们大部分是平台无关的,且用C语言写成,有的还夹杂 着基本的C++ wrapper和成堆德编译选项的声明需要你去处理。而CxImage类库在这方面做得很好。还有让我最看好的,就是作者完全公开了源代码。相对于那些封 装好的图形库和GDI+来说,这一点使我们可以进一步学习各种编解码技术,而不再浮于各种技术的表面。"




酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部