VC 解决图片失真问题

在我们实际开发过程中,总是经常出现图片失真的问题,使得整个程序的界面开起来不美观。

接下来让我们一起来解决这个问题吧!

首先,我们先定义一个CImageList,接着我们要去了解里面的函数Creat

BOOL Create( int cx, int cy, UINT nFlags, int nInitial, int nGrow );
现在对这几个参数做个详细介绍如下:

  1.前两个参数指定图标的宽度和高度,即:图标的尺寸定义。

  2.第三个参数指定何如显示图标。ILC_ COLOR8说明以256色调色板来显示图标。而TRUE则指明了以透明方式来显示图标。那么两者进行"按位或"运算后的意义变为:以透明方式来显示256色图标。
  3.第四和第五个参数则分别为:初始图标个数和新增图标时对象自动申请内存空间的步长。如果在
大批量操作图标,并且需要不断的增删图标时,设置第五个参数可以改变程序的性能,如果第五个参数设置的比较适中则可以避免程序反复的申请和释放内存空间。

  最后的一步就是加载和添加图标资源了。

这里我们先把创建好:m_ImageList.Create(32, 32, TRUE | ILC_COLOR8, 1, 0);

实例一:添加ICON图标

HICON hIcon = NULL;
hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),
MAKEINTRESOURCE(IDI_ICON1), IMAGE_ICON, 32, 32, 0); 
m_ImageList.Add(hIcon);

 

实例二:添加BitMap图

 CBitmap hBitmap;
 hBitmap.LoadBitmap(IDB_BITMAP1);
 m_ImageList.Add(&hBitmap,ILC_COLOR8);

 

其他的图标也是类似的。

你可能感兴趣的:(image)