易语言教程_易语言源码_易语言写挂_易语言论坛_看流星社区

 找回密码
 注册
零基础辅助入门教学 原创 高清 专业课程售后(每日解答)
零基础辅助入门教学 原创 高清 专业课程售后(每日解答)
零基础辅助入门教学 原创 高清 专业课程售后(每日解答)
零基础辅助入门教学 原创 高清 专业课程售后(每日解答)
零基础辅助入门教学 原创 高清 专业课程售后(每日解答)
零基础辅助入门教学 原创 高清 专业课程售后(每日解答)
赞助广告位 请点击这里联系站长 QQ20209081
赞助广告位 请点击这里联系站长 QQ20209081
赞助广告位 请点击这里联系站长 QQ20209081
查看: 108|回复: 0

CImageList类中读写图像数据

[复制链接]
发表于 2017-6-3 14:26:39 | 显示全部楼层 |阅读模式
CImageList类中读写图像数据

1、CImageList类写入数据使用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;
}

2、CImageList类读取数据使用GetImageInfo函数。
BOOL GetImageInfo(
int nImage,
IMAGEINFO* pImageInfo
) const;
IMAGEINFO结构如下:
typedef struct _IMAGEINFO{
HBITMAPhbmImage;//整个图象的HBITMAP句柄
HBITMAPhbmMask;//图像掩码句柄
intUnused1;
intUnused2;
RECTrcImage;//指定图像区域的范围,也就是从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
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|看流星社区  |网站地图

GMT+8, 2017-8-22 19:18 易语言论坛 易语言导航

Powered by 看流星社区 X3.2

©2011-2016 最好的辅助编程技术论坛

快速回复 返回顶部 返回列表