cximage配置和简单示例

   【转】cximage的动态库不能使用问题http://blog.csdn.net/secondfloor/archive/2009/07/29/4389520.aspx


因为一个任务的需要,上网找到了cximage库,从codeproject下载源代码和demo,同时和作者的官方下载的最新600比较,代码一致。

拿到代码后,用vc6代开cximage600_full目录下的CxImgLib.dsw,对cximage、cximagecrtdll、cimagemfcdll,以及其它所有的工程都编译了一遍(发现可能多次编译了,宁多勿少啊,呵呵),上网查资料得出结论是:cximage.lib是静态链接库,而有一篇文章写,静态lib库,在debug下可以,而在release下不能正常使用,cximagecrtdu.dll是不是用mfc的动态库,cximagedu.dll是使用mfc的动态库。而我是用的应用程序是需要用mfc,所以要用cximagedu.cll动态库了。

然后将cximage.lib,cximagedu.dll和cximage目录下的所有h文件拷贝到我的工程中,同时配置project setting中c++的code generation为debug mutilthread dll,precompiled header为no,link中包含lib,c++中包含头文件。一起配置好后,从网上抄录了一段代码。参考http://blog.csdn.net/mynamelj/archive/2008/12/28/3630630.aspx进行配置。

如下:

    CxImage  image;   // 定义一个CxImage对象   
   
    // 从bmp文件转换为jpg文件(bmp -> jpg)
    image.Load(L"image.bmp", CXIMAGE_FORMAT_BMP);   //先装载bmp文件,需要指定文件类型

    // 判断加载的bmp文件是否存在。
    if (image.IsValid())
    {
        // Returns true if the image has 256 colors  and a linear grey scale palette.
        if(!image.IsGrayScale()) {
            image.IncreaseBpp(8);   // param nbit: 4, 8, 24
        }
       
        image.SetJpegQuality(99);                // 设置图像的压缩质量参数(从0到100,数值越大,质量越高)
        image.Save(L"image.png",CXIMAGE_FORMAT_PNG);          // 把压缩后的图像以jpg文件类型保存起来。
    }
编译都ok,link却报出:error LNK2001: unresolved external symbol "public: bool __thiscall CxImage ::Save (char const *,unsigned long)" (? ...

error LNK2001: unresolved external symbol "public: bool __thiscall CxImage ::Load (char const *,unsigned long)" (? ... 错误。

没办法,又上网查,居然发现好多人碰到类似问题,看了其它人的文章,其中提到一条编译后的库是unicode编码。

哦,问题找到了,我的工程是普通vc工程,当然是mbcs编码了,修改为unicode,修改入口为winMainCRTStartup。在编译一切ok了,可以将bmp转换成png图片了。

接下来继续将png的24位色转变8位色的工作了。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值