CImageList类中读写图像数据

CImageList类中读写图像数据

 

1CImageList类写入数据使用Add函数。

int Add(

   CBitmap* pbmImage,

   CBitmap* pbmMask

);

int Add(

   CBitmap* pbmImage,

   COLORREF crMask

);

int Add(

   HICON hIcon

);

举例:

   CImageList m_ImageList;// CImageList对象,存储图像

Int m_nImageWidth = 120;//目标图像宽度

Int m_nImageHeight = 60;// 目标图像高度

    CxImage imageTmp;// CxImage对象,原始图像

    CxImage imageTmpCrop;// CxImage对象,目标图像

    imageTmp.Load(C://1.BMP);//加载图像

    imageTmpCrop.Copy(imageTmp);

imageTmp.Resample2(m_nImageWidth,m_nImageHeight,CxImage::IM_BICUBIC2,CxImage::OM_REPEAT,&imageTmpCrop,true);//缩放图象

HANDLE hBitmapHandle  = imageTmpCrop.MakeBitmap();//将图像转换成句柄

    CBitmap *pBitmap;

    pBitmap=new CBitmap;

    pBitmap->Attach(hBitmapHandle);

    m_ImageList.Add(pBitmap,RGB(255,0,255));//将图像插入m_ImageList对象中

    if(pBitmap)

    {

        delete pBitmap;

    }

 

2CImageList类读取数据使用GetImageInfo函数。

BOOL GetImageInfo(

   int nImage,

   IMAGEINFO* pImageInfo

) const;

IMAGEINFO结构如下:

typedef struct _IMAGEINFO {

    HBITMAP hbmImage;//整个图象的HBITMAP句柄

    HBITMAP hbmMask;//图像掩码句柄

    int Unused1;

    int Unused2;

    RECT rcImage;//指定图像区域的范围,也就是从hbmImage中区域范围得到指定的图像

} IMAGEINFO, *LPIMAGEINFO;

注:如果想得到指定子图像数据,必须根据指定子图像区域rcImage从整个图像hbmImage中取出数据。

举例:

       CImageList m_ImageList;// CImageList对象,存储图像

    IMAGEINFO subImageInfo;

    Int nIndex = 0;

    m_ImageList.GetImageInfo(nIndex,&subImageInfo);//得到图像信息数据

    CxImage ciShow;//整个图像

    CxImage ciSubShow;//子图像

    ciShow.CreateFromHBITMAP(subImageInfo.hbmImage);//得到整个图像

    ciSubShow.Crop(subImageInfo.rcImage,& ciSubShow);//得到子图像

    ciSubShow.Save(C://2.BMP);//保存图像

 

CxImage是开源图像处理库,下载地址:http://www.codeproject.com/KB/graphics/cximage.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

byxdaz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值