cximage + png 图处理

看到论谈上有这么多关于 png 图片的处理,但是有一点想不通,他们怎么都用 gdi+png 来处理呢?

不是最高效最好的方法还是cximage+png图片处理吗?

使用cximage这个类,还需要你去下载一个cximage的demo。里面要用到这几个文件呀!

找到这几个文件之后把他复制到你的工程中,进行配置,这样你就可以用cximage这个类了。

第一步,打开的工程,点projects——settings

在这里配置成功以后,看一下你的里边是不是有这些东西。

cximage.lib libdcr.lib Jpeg.lib jasper.lib mng.lib png.lib tiff.lib zlib.lib 

这几个东西是不是都有。你们好好捡查一下吧。

下来就是导入头文件。

你按下F5进行调试

看看是不是有问题。这样还不行,还要进行一下代码测试,是不是有问题,

在你的cxxxxxxdlg中添加头文件看他认不认。

#include  "ximage.h"

public:

 CxImage *m_bgcximage;

看一下能不能成功,如果成功了就可以做东西了。呵呵。

下来我们用一个jpg的图片来实验一下效果吧。给对话框添加个背景。好吧。首先,先用你的ps,或者其他工具,选将你的图片保存成jpg格式的。

在这里还得添加一个函数,第一步按下ctrl+w如下图。点击class info 点击message filter选择windows点ok

在按下ctrl+w在添加OnEraseBkgnd这个函数。

好了具体的是代码了。我给大家贴出来。看看吧,能不能成功。

BOOL CCximageDlg::OnEraseBkgnd(CDC* pDC) 
{
// TODO: Add your message handler code here and/or call default
//return CDialog::OnEraseBkgnd(pDC);
RECT rect;
GetClientRect(&rect);
m_bgcximage->Tile(pDC->GetSafeHdc(),&rect);
return true;
}

在OnInitDialog()里写,这样就把jpg格式的图片就贴上来了。

m_bgcximage = new CxImage();
HRSRC temp=FindResource(NULL,"IDR_JPG1","JPG");
if (!m_bgcximage->LoadResource(temp,CXIMAGE_FORMAT_JPG)){
delete m_bgcximage;
m_bgcximage =NULL;
}

运行后的效果是这样的。

有关编译器优化的更完整信息,请参阅优化通知