【转】VC++中的图像类型转换--使用开源CxImage类库

CxImage入门教程,图文并茂 作为一个游戏客户端程序员,需要对图像处理有一定的知识。 CxImage是C++实现的功能强大的、能处理多种文件格式的图像管理类。它能够简单快速的实现图像的导入、保存、显示和变换。同时又具有平台无关,免费开源,支持多种图片格式几何操作、图像处理、图像格式转换等优点。所以就从CxImage入手吧。 本文参考自http://www.cnblogs.com/kex1n/archive/2010/01/16/1649059.html,这篇文章讲的挺详细了,我在此基础上自己动手,然后通过图片,为了让跟我一样的初 阅读详情

一。CxImage类库简介

这只是翻译了CxImage开源项目主页上的部分简介及简单使用。

CxImage类库是一个优秀的图像操作类库。它可以快捷地存取、显示、转换各种图像。有的读者可能说,有那么多优秀的图形库,如OpenIL,FreeImage,PaintLib等等,它们可谓是功能强大,齐全,没必要用其它的类库。但我要说,这些类库基本上没有免费的,使用这些类库,你要被这样那样的许可协议所束缚。在这点上,CxImage类库是完全免费的。另外,在使用上述类库时,你会遇到重重麻烦。因为它们大部分是平台无关的,且用C语言写成,有的还夹杂着基本的C++ wrapper和成堆德编译选项的声明需要你去处理。而CxImage类库在这方面做得很好。还有让我最看好的,就是作者完全公开了源代码。相对于那些封装好的图形库和GDI+来说,这一点使我们可以进一步学习各种编解码技术,而不再浮于各种技术的表面。

CxImage是一个可以用于MFC的C++类,可以打开,保存,显示,转换各种格式的图像文件,比如BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K 等格式的文件。可以实现BMP<->JPG,PNG <>TIFF格式等等的转换。

既可以实现图像文件的类型转换,也可以实现在内存图像数据的类型转换,并且使用很方便。

它的作者是: Davide Pizzolato ,主页: http://www.xdp.it/

首先,到http://www.codeproject.com/bitmap/CXImage.asp 下载它的源文件和Demo例子.

注: 在Codeproject下载这个类,你得先注册一下,因为这个类可是含金量比较高的,下载量比较大的,当然你也会很高兴成为CodeProject的一名成员的,她不收你的费.授权:

License

The class CxImage is free; as for the TIFF, JPEG, PNG and ZLIB libraries : "If you use this source code in a product, acknowledgment is not required but would be appreciated."

CxImage is open source and licensed under the zlib license . In a nutshell, this means that you can use the code however you wish, as long as you don't claim it as your own.

由于很多人上codeproject的时候,老是上不去,所以,你也可以去这个类库的作者--Davide Pizzolato的主页去下载

他的主页还有另外的源代码,有兴趣的也可以看看.

 

二。编译CxImage类库

作者已经提供了整个类库配置的工程文件CxImgLib.dsw (VC++6.0),只要打开它进行编译即可。需要大家注意的是:整个CxImage类库非常大。如果你只需要能处理其中的几种格式,编译该类库时,你可以在配置的头文件ximcfg.h 中找到一些编译开关选项来关闭一些图像库。JPG、PNG、TIFF中的每一个库,都会向最终程序增加约100KB的内容。而CxImage类库压缩后只有约60KB。所以,你需要谨慎挑选一些你真正需要的类库。

 

  // 类库配置文件:ximacfg.h
#define  CXIMAGE_SUPPORT_JPG 1
// 如果要实现bmp->jpg 则必须打开
#define  CXIMAGE_SUPPORT_BMP 1
#define  CXIMAGE_SUPPORT_GIF 1
#define  CXIMAGE_SUPPORT_JPG 1
// 以上为必须打开,下面的随便............
#define  CXIMAGE_SUPPORT_PNG 0 //不使用它
#define  CXIMAGE_SUPPORT_MNG 0
#define  CXIMAGE_SUPPORT_ICO 1
#define  CXIMAGE_SUPPORT_TIF 0 //
#define  CXIMAGE_SUPPORT_TGA 0 //
#define  CXIMAGE_SUPPORT_PCX 0 //
#define  CXIMAGE_SUPPORT_WBMP 0 //
#define  CXIMAGE_SUPPORT_WMF 0 //
#define  CXIMAGE_SUPPORT_J2K 0   //  Beta, use JP2
#define  CXIMAGE_SUPPORT_JBG 0
//.............


其他的可以不打开

编译该类库有好几个选择的工程,如下图所示:

 

 各工程的作用对应如下:

  • CxImage : cximage.lib - static library
  • CxImageCrtDll : cximagecrt.dll - DLL not using mfc
  • CxImageMfcDll : cximage.dll - DLL using mfc
  • Demo : demo.exe - program linked with cximage.lib and the C libraries
  • DemoDll : demodll.exe - program linked with cximagecrt.dll
  • j2k,jasper,jbig,jpeg,png,tiff,zlib : static C libraries

    编译这些工程需要耗费几分钟的时间(中间文件可达60MB)。

     

    三。在程序中应用CxImage类库进行图像类型转换

    在你的VC工程中使用这个类库,要对工程进行如下设置(Project Settings):

    |- C/C++
    |   |- Code Generation
    |   |   |- Use run-time library : Multithreaded DLL (must be the same for
    |   |   |  all the linked libraries)  //应该只要是多线程DLL即可,DEBUG的也行
    |   |   |- Struct member alignment : must be the same for all the linked libraries
    |   |- Precompiled headers : not using precompiled headers
    |   |- Preprocessor
    |       |- Additional Include Directories:  ../cximage(该处填CxImage里的.h和.cpp文件拷贝并导入工程后所在的文件夹,填写后在工程中include时编译器会查找该文件夹,故include的文件无需路径)
    |- Link
        |- General
            |- Object/library modules:  png.lib 
                                                           jpeg.lib 
                                                           zlib.lib 
                                                           tiff.lib 
                                                           jasper.lib 
                                                          cximage.lib  (把需要的lib文件从CxImage中拷贝到工程中的lib文件所在的目录)

  • 注:lib库应该采用“Win32 Debug”方式编译,“Win32 Release”编译的lib在使用时有问题。

  • 并且从CxImage中将xfile.h、ximacfg.h、ximadef.h、ximage.h、xiofile.h、xmemfile.h拷贝到工程文件夹下并将CxImage.h文件加入工程中即可。也可以设置vc6的"tools"中的"include"路径.

    下面介绍应用它进行图像类型转换的方式:

    1.从一种图像文件类型转换为另一种文件类型(convert from a format to another)

     CxImage  image;    //  定义一个CxImage对象

    //  从bmp文件转换为jpg文件(bmp -> jpg)
    image.Load( " 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(24);   // param nbit: 4, 8, 24
        image.SetJpegQuality(99);                // 设置图像的压缩质量参数(从0到100,数值越大,质量越高)
        image.Save("image.jpg",CXIMAGE_FORMAT_JPG);          // 把压缩后的图像以jpg文件类型保存起来。
    }


     

    //  从png文件转换为tif文件(png -> tif)
    image.Load( " image.png " , CXIMAGE_FORMAT_PNG);
    if  (image.IsValid()) {
        image.Save(
    "image.tif",CXIMAGE_FORMAT_TIF);
    }

     

    2。加载程序资源图像(load an image resource)

    即从程序的资源图像中构建CxImage对象,有如下几种方式:

     

    //  Load the resource IDR_PNG1 from the PNG resource type
    CxImage *  newImage  =   new  CxImage();
    newImage
    -> LoadResource(FindResource(NULL,MAKEINTRESOURCE(IDR_PNG1),
                           
    " PNG " ),CXIMAGE_FORMAT_PNG);

     

    或者

     

    // Load the resource IDR_JPG1 from DLL
    CxImage *  newImage  =   new  CxImage();
    HINSTANCE hdll
    = LoadLibrary( " imagelib.dll " );
    if  (hdll) {
        HRSRC hres
    =FindResource(hdll,MAKEINTRESOURCE(IDR_JPG1),"JPG");
        newImage
    ->LoadResource(hres,CXIMAGE_FORMAT_JPG,hdll);
        FreeLibrary(hdll);
    }

     

    或者

     

    // Load a bitmap resource;
    HBITMAP bitmap  =  ::LoadBitmap(AfxGetInstanceHandle(),
                                  MAKEINTRESOURCE(IDB_BITMAP1)));
    CxImage 
    * newImage  =   new  CxImage();
    newImage
    -> CreateFromHBITMAP(bitmap);

     

    3。在内存缓冲中的图像类型转换

    (1)把内存缓冲中的数据解码成一个Image对象(decode an image from memory)

    有如下几种方式:
    ------

    CxImage image((BYTE * )buffer,size,image_type); // 把内存缓冲buffer中的数据构造成Image对象

    // 或:

    CxMemFile memfile((BYTE
    * )buffer,size);  //  显式使用CxMemFile对象
    CxImage image( & memfile,image_type);

    // 或:

    CxMemFile memfile((BYTE
    * )buffer,size);
    CxImage
    *  image  =   new  CxImage();
    image
    -> Decode( & memfile,type);

     

    ============

    (2)把Image编码存放到内存缓冲中(encode an image in memory)

    --------

    long  size = 0 ; // 得到图像大小
    BYTE *  buffer = 0 ; // 存储图像数据的缓冲
    image.Encode(buffer,size,image_type); // 把image对象中的图像以type类型数据copy到buffer
    ...
    free(buffer);

    或:

    CxMemFile memfile;            
    //  显式使用CxMemFile对象
    memfile.Open();
    image.Encode(
    & memfile,image_type);
    BYTE
    *  buffer  =  memfile.GetBuffer();
    long  size  =  memfile.Size();
    ...
    free(buffer);

     

    ---------------

    4。处理系统粘贴板中的图像(copy/paste an image)

     

    // 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();

     

    5。在picture box中显示一个png格式的文件

     

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

     


    四。其它

    一个CxImage对象是一个扩展了的位图。作者只是在位图结构上添加了一些起存储信息作用的成员变量。一个CxImage对象(同时)也是一组层。每个层只有在需要时才会分配相应的缓冲区。CxImage::pDib代表着背景图像,CxImage::pAlpha代表着透明层,CxImage::pSelection代表着被选中的层,被用来创建图像处理时让用户感兴趣的区域。在这三个特殊层面的基础上,你可以增加一些额外的层,这些层可以存储在CxImage::pLayers中。一般说来,层是一个完整的CxImage对象。因此,你可以构造很复杂的嵌套层。下面是CxImage的一些成员变量:

     

    class  CxImage
    {
    ...
    protected:
    void* pDib;            //包含文件头,调色板等等
    BITMAPINFOHEADER head; //标准的文件头(位图)
    CXIMAGEINFO info;      //扩展了的信息
    BYTE* pSelection;      //用户选中的区域
    BYTE* pAlpha;          //alpha通道
    CxImage** pLayers;     //通用层
    }

    typedef 
    struct  tagCxImageInfo  {
    DWORD   dwEffWidth;       
    //DWORD 扫描线宽
    BYTE*   pImage;           //图像位数
    void*   pGhost;           //if this is a ghost, pGhost point to the body
    DWORD   dwType;           //原图像的格式
    char    szLastError[256]; //出错信息
    long    nProgress;        //监视循环的次数
    long    nEscape;          //跳出标志
    long    nBkgndIndex;      //GIF, PNG, MNG格式使用
    RGBQUAD nBkgndColor;      //RGB三原色透明度
    BYTE    nQuality;         //JPEG格式使用
    long    nFrame;           //TIF, GIF, MNG使用 :实际的帧数
    long    nNumFrames;       //TIF, GIF, MNG使用 :帧总数
    DWORD   dwFrameDelay;     //GIF, MNG使用
    long    xDPI;             //水平分辨率
    long    yDPI;             //垂直分辨率
    RECT    rSelectionBox;    //选中的矩形区
    BYTE    nAlphaMax;        //阴影的最大不透明度
    bool    bAlphaPaletteEnabled;  //如果调色板中有Alpha通道则为真
    bool    bEnabled;         //打开绘图函数
    long    xOffset;
    long    yOffset;
    DWORD   dwEncodeOption;   
    //一些编码选项
    RGBQUAD last_c;           //一些优化选项
    BYTE    last_c_index;
    bool    last_c_isvalid;
    long    nNumLayers;
    DWORD   dwFlags;
    }
     CXIMAGEINFO;

    关于CxImage类库作者: Davide Pizzolato,一位电子工程师。1984年开始编程,已不在乎使用何种编程语言来开发软件。现就职于Askoll的电子研发部。

    关于CxImage类库更多的信息,请到它的官网或作者主页去了解。

    官网:http://www.codeproject.com/bitmap/cximage.asp

    作者:http://www.xdp.it/

图像到 C/C++ 数组转换器:此程序将 BMP/TIFF/JPG/PNG 文件转换为单色图像和嵌入的 C/C++ 字节数组。-matlab开发 该程序将 BMP/TIFF/JPG/PNG 文件转换为嵌入的 C/C++ 字节数组。 当您想在显示器上显示单色图像时,这非常有用。 它在数据数组生成之前将您的图像转换为单色。 源图像中较暗的颜色将产生“开”像素,而较亮的颜色将产生“关”像素。 该代码为您的验证提供了创建的单色图像的中间输出。 该代码还根据在数组生成之前输入的宽度和高度调整输入图像的大小。 脚步: 1) 输入输出图像的宽度和高度2) 选择要转换的图像3) 验证单色输出是否令人满意4) 单击“是,继续”以继续代码生成5) 在当前工作目录中创建一个名为“imagedata.cpp”的新文件,其中包含字节数组数据。 6) 出现一个对话框,提示转换图像转换成功。 根据用例,您可以修改 fprintf 语句以反映您的嵌入式控制器或显示器。 立即下载

相关推荐

CxImage 完整版

处理图片的超强模块,支持 JPG,BMP,PNG,ICO.等格式,对图片颜色及效果均能做处理

VC++中的图像类型转换--使用开源CxImage类库

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

roger007的专栏 1万+

振动分析中相位的确定

更是定位不平衡量角度的关键。是确定振动信号与转子旋转位置之间时间关系的核心步骤,而。以内,以确保校正配重安装角度的有效性。在实际动平衡中,相位角的误差需控制在。在振动分析和动平衡中,

轩辕霸天L 2733

最好用图像处理库CxImage入门

CxImage是一款免费的、开源的、功能强大的图形处理库。跨平台,支持windows、linux等;支持BMP、GIF、ICO、TGA、JPEG、PCX、PNG、TIFF、MNG、RAS等多种图像格式;支持格式转换、图像处理、几何变换等;最重要的是使用非常简单。

jmppok的专栏 1万+

解决turmex安装kali报错问题

在手机上安装好turmex后,都喜欢安装一个Linux系统,我当时安装的时kali,但是安装过程中,报错不断。 2019.8.24更新 1,出现问题首先看下载kali源文件是否完整 安装步骤中,会显示[解压中.....] ,可以看到解压的大小。 如图所示,完整源文件不小于81M。 如果源文件过小,则说明下载错误,而且在remove kali这个命令下,是不会删除源文件的,下一次安装只...

WeiLuckyStrike的博客 1万+

HFSS与AI融合:智能算法如何重塑天线设计流程

本文探讨了HFSS与AI融合如何通过智能算法革新天线设计流程。在5G/6G通信时代,AI技术如机器学习和遗传算法显著提升了高频电磁场仿真效率,将传统设计周期从数周缩短至数小时,并优化了天线性能。文章详细介绍了AI与HFSS的集成策略、关键技术突破及典型应用案例,展示了智能算法在天线设计中的巨大潜力。

weixin_29035147的博客 774

【转载】VC++中的图像类型转换--使用开源CxImage类库

一、CxImage类库简介 这只是翻译了CxImage开源项目主页上的部分简介及简单使用。 CxImage类库是一个优秀的图像操作类库。它可以快捷地存取、显示、转换各种图像。有的读者可能说,有那么多优秀的图形库,如 OpenIL,FreeImage,PaintLib等等,它们可谓是功能强大,齐全,没必要用其它的类库。但我要说,这些类库基本上没有免费的,使用这些类库,你要被这样那样的许...

diju7500的博客 267

VS(QT)调用Matlab函数的方法

调试–>窗口–>异常设置–>Win32 Exceptions全部不要勾选。选择Microsoft Visual C++ 2017。将生成的.h和.lib分别放置在对应的文件夹。输入mex -setup C++输入deploytool选择。选择Realse x64。

woshigaowei5146的博客 590

使用开源CxImage类库

一。CxImage类库简介这只是翻译了CxImage开源项目主页上的部分简介及简单使用。CxImage类库是一 个优秀的图像操作类库。它可以快捷地存取、显示、转换各种图像。有的读者可能说,有那么多优秀的图形库,如OpenIL,FreeImage, PaintLib等等,它们可谓是功能强大,齐全,没必要用其它的类库。但我要说,这些类库基本上没有免费的,使用这些类库,你要被这样那样的许可协议所

ywywcy的专栏 1493

微电网模型Matlab Simulink,风光储微电网,永磁风机并网仿真,光伏并网仿真,蓄电池仿真

通过探究风光储微电网、永磁风机并网仿真、光伏并网仿真、蓄电池仿真、柴油发电机以及光储微电网和风储微电网等方面的技术,我们可以更好地理解微电网的工作原理和优化方法,从而为微电网的发展做出更大的贡献。微电网模型Matlab Simulink,风光储微电网,永磁风机并网仿真,光伏并网仿真,蓄电池仿真,柴油发电机,光储微电网 风储微电网 Matlab仿真平台搭建的风光储微电网模型,风光柴储微电网,pwm控制,风力发电,光伏发电,微电网并网离网切换,并网孤岛切换,功能强大。永磁风机的并网仿真是一个非常重要的环节。

sjbextz的博客 398

Arcgis 10.3 与 ArcGIS Engine 10.3 安装与破解

Arcgis 10.3 与 ArcGIS Engine 10.3 安装与破解

weixin_52127098的博客 4724

CxImage类库使用说明

一。CxImage类库简介 这只是翻译了CxImage开源项目主页上的部分简介及简单使用。 CxImage类库是一 个优秀的图像操作类库。它可以快捷地存取、显示、转换各种图像。有的读者可能说,有那么多优秀的图形库,如OpenIL,FreeImage, PaintLib等等,它们可谓是功能强大,齐全,没必要用其它的类库。但我要说,这些类库基本上没有免费的,使用这些类库,你要被这样那样的许可协议所 束缚。在这点上,CxImage类库是完全免费的。另外,在使用上述类库时,你会遇到重重麻烦。因为它们大部分是平台

AngelBaby的专栏 999

AUTOSAR知识点 之 XCP (二):XCP基础概念

学习XCP的过程中,对XCP的基本概念要做一个全面的认知,因为里面有很多缩写以及难以理解的点,假设对此模模糊糊一知半解,那么对整个协议栈的认知会遇到极大的障碍。XCP的信号流传输图示如下XCP 标准主要分为 5 个部分:这部分提供了对于协议的一个概况介绍,包括 XCP 的功能和基础性内容。这部分内容对协议层进行了详细的规范和说明。

梦想技术家 2769

【转】CxImage图像库的使用

CxImage下载地址:http://www.codeproject.com/KB/graphics/cximage/cximage600_full.zip 作者:Davide Pizzolato CxImage简介 CxImage 是一个可以简便而快速地打开、保存、显示和转换图像文件的 C++类库,它可以用于MFC,可以打开,保存,显示,转换各种常见格式的图像文...

diju7500的博客 404

【29】软考软件设计师——SQL语句编写与优化深度精讲|数据库大题延伸满分攻略

本文是《软件设计师·50讲通关|从零基础到工程师职称》专栏第29篇,承接第28篇ER图转关系模式核心内容,作为**下午第2题数据库大题核心延伸必考模块**,单模块累计占分5~8分,是数据库板块性价比极高的提分重点。全文超4000字深度拆解软考全部SQL高频考点:全覆盖多表连接底层逻辑、嵌套子查询分类实操、GROUP BY分组聚合硬核规则、索引全品类设计原理、联合索引最左匹配底层机制,搭配海量可直接复刻的考场SQL模板、历年真题完整改写案例、索引失效场景实操复盘、慢查询优化落地技巧。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 524

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

cximage使用说明

一。CxImage类库简介   这只是翻译了CxImage开源项目主页上的部分简介及简单使用。   CxImage类库是一 个优秀的图像操作类库。它可以快捷地存取、显示、转换各种图像。有的读者可能说,有那么多优秀的图形库,如OpenIL,FreeImage, PaintLib等等,它们可谓是功能强大,齐全,没必要用其它的类库。但我要说,这些类库基本上没有免费的,使用这些类库,你要被这样那样

林一鸣的专栏 3461

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

转贴 CxImage类库使用说明

一。CxImage类库简介这只是翻译了CxImage开源项目主页上的部分简介及简单使用。CxImage类库是一 个优秀的图像操作类库。它可以快捷地存取、显示、转换各种图像。有的读者可能说,有那么多优秀的图形库,如OpenIL,FreeImage, PaintLib等等,它们可谓是功能强大,齐全,没必要用其它的类库。但我要说,这些类库基本上没有免费的,使用这些类库,你要被这样那样的许可协议所

并行时代 2万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

CxImage图像库的使用

CxImage下载地址:http://www.codeproject.com/KB/graphics/cximage/cximage600_full.zip 作者:Davide Pizzolato CxImage简介 CxImage是一个可以简便而快速地打开、保存、显示和转换图像文件的 C++类库,它可以用于MFC,可以打开,保存,显示,转换各种常见格式的图像文件,比如BMP, JPEG, G...

SurpassLi的专栏 129

开源CxImage图像操作类库

一。CxImage类库简介这只是翻译了CxImage开源项目主页上的部分简介及简单使用。CxImage类库是一 个优秀的图像操作类库。它可以快捷地存取、显示、转换各种图像。有的读者可能说,有那么多优秀的图形库,如OpenIL,FreeImage, PaintLib等等,它们可谓是功能强大,齐全,没必要用其它的类库。但我要说,这些类库基本上没有免费的,使用这些类库,你要被这样那样的许可协议所

bqw2008的专栏 983

CxImage类库使用说明(转载)

<br /><br />一。CxImage类库简介<br />这只是翻译了CxImage开源项目主页上的部分简介及简单使用。<br />CxImage类库是一 个优秀的图像操作类库。它可以快捷地存取、显示、转换各种图像。有的读者可能说,有那么多优秀的图形库,如OpenIL,FreeImage, PaintLib等等,它们可谓是功能强大,齐全,没必要用其它的类库。但我要说,这些类库基本上没有免费的,使用这些类库,你要被这样那样的许可协议所 束缚。在这点上,CxImage类库是完全免费的。另外,在使用上述类库时

淡蓝 195

CxImage图像处理类库

转自:http://blog.youkuaiyun.com/byxdaz/archive/2009/04/10/4061324.aspx CxImage是一个可以用于MFC 的C++图像处理类库类,它可以打开,保存,显示,转换各种常见格式的图像文件,比如BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K 等格式的文...

网络资源是无限的 7478

CxImage介绍

转载地址:http://blog.sina.com.cn/s/blog_485e3deb0100d76e.html 一。CxImage类库简介 这只是翻译了CxImage开源项目主页上的部分简介及简单使用。 CxImage类库是一个优秀的图像操作类库。它可以快捷地存取、显示、转换各种图像。有的读者可能说,有那么多优秀的图形库,如OpenIL,FreeImage,PaintLib等等,它们

yyxaf的专栏 819

转帖 CxImage类库使用说明

 一。CxImage类库简介这只是翻译了CxImage开源项目主页上的部分简介及简单使用。CxImage类库是一 个优秀的图像操作类库。它可以快捷地存取、显示、转换各种图像。有的读者可能说,有那么多优秀的图形库,如OpenIL,FreeImage, PaintLib等等,它们可谓是功能强大,齐全,没必要用其它的类库。但我要说,这些类库基本上没有免费的,使用这些类库,你要被这样那样的许可协议

greatsong的专栏 957
上一篇: 浅谈Base64编码(转)
下一篇: 【转】CxImage的简单用法
code09
博客等级 码龄18年 31粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值