首页 新闻 会员 周边 捐助

怎样把一副位图借成一个一个图标的?

0
悬赏园豆:5 [待解决问题]

 m_bitmap.LoadBitmap(IDB_IMAGELIST);

 m_imageList.Create(24, 24, ILC_COLOR24|ILC_MASK, 4, 1);

 m_imageList.Add(&m_bitmap, RGB(0,255,0));

 HICON hIcon = m_imageList.ExtractIcon(0);  

m_btn2.SetIcon(CSize(24,24), hIcon);

 DestroyIcon(hIcon);

不明白是怎样把这副位图截成一个一个图标?为什么

mfc
杀  手的主页 杀 手 | 菜鸟二级 | 园豆:213
提问于:2012-08-07 10:37
< >
分享
所有回答(1)
0

icon 大小 24 X 24   是这句代码定义的 m_imageList.Create(24, 24

这样,你使用一个大的图片 24 X ( 24 X 5 ) ,就可以分成 5 个 24 X 24 图片。

m_imageList.ExtractIcon 会按照索引 i  来找到从大图片的哪个位置开始读取 24 X 24 大小的图片。

在这里可能不好理解,但是在WEB优化上却是喜闻乐见的方式,因为你要准备5个图片的话,就要下载5次,而只准备一个大的图片,则只下载一次,客户端会根据索引从大图片上读取每部分的小图片。

Launcher | 园豆:45050 (高人七级) | 2012-08-07 10:43

谢谢,有道理

支持(0) 反对(0) 杀 手 | 园豆:213 (菜鸟二级) | 2012-08-07 11:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册