14.如何将32 x 32像素图标转换为16 x 16像素值的图标

HICON Convert32x32IconTo16x16(HICON h32x32Icon)
{
HDC hMainDC, hMemDC1, hMemDC2;
HICON h16x16Icon;
BITMAP bmp;
HBITMAP hOldBmp1, hOldBmp2;
ICONINFO IconInfo32x32, IconInfo16x16;
GetIconInfo(h32x32Icon, &IconInfo32x32);
hMainDC = ::GetDC(m_hWnd);
hMemDC1 = CreateCompatibleDC(hMainDC);
hMemDC2 = CreateCompatibleDC(hMainDC);
GetObject(IconInfo32x32.hbmColor, sizeof(BITMAP), &bmp);
IconInfo16x16.hbmColor = CreateBitmap( 16, 16,
bmp.bmPlanes,
bmp.bmBitsPixel,
NULL);
hOldBmp1 = (HBITMAP) SelectObject( hMemDC1,
IconInfo32x32.hbmColor);
hOldBmp2 = (HBITMAP) SelectObject( hMemDC2,
IconInfo16x16.hbmColor);
StretchBlt(hMemDC2,
0, 0,
16, 16,
hMemDC1,
0, 0,
32, 32,
SRCCOPY
);
GetObject(IconInfo32x32.hbmMask, sizeof(BITMAP), &bmp);
IconInfo16x16.hbmMask = CreateBitmap( 16, 16,
bmp.bmPlanes,
bmp.bmBitsPixel,
NULL);
SelectObject(hMemDC1, IconInfo32x32.hbmMask);
SelectObject(hMemDC2, IconInfo16x16.hbmMask);
StretchBlt(hMemDC2,
0, 0,
16, 16,
hMemDC1,
0, 0,
32, 32,
SRCCOPY
);
SelectObject(hMemDC1, hOldBmp1);
SelectObject(hMemDC2, hOldBmp2);
IconInfo16x16.fIcon = TRUE;
h16x16Icon = CreateIconIndirect(&IconInfo16x16);
DeleteObject(IconInfo32x32.hbmColor);
DeleteObject(IconInfo16x16.hbmColor);
DeleteObject(IconInfo32x32.hbmMask);
DeleteObject(IconInfo16x16.hbmMask);
DeleteDC(hMemDC1);
DeleteDC(hMemDC2);
::ReleaseDC(m_hWnd, hMainDC);
return h16x16Icon;
}

如何将32 x 32像素图标转换为16 x 16像素值的图标相关推荐

  1. tf.keras.layers.Flatten该网络中的第一层tf.keras.layers.Flatten将图像的格式从2d阵列(28乘28像素)转换为28 * 28 = 784像素的1d阵列。可以

    https://blog.csdn.net/qq_20989105/article/details/82760815

  2. c# php md5 32位加密,C#实现将32位MD5摘要串转换为128位二进制字符串的方法

    本文实例讲述了C#实现将32位MD5摘要串转换为128位二进制字符串的方法.分享给大家供大家参考,具体如下: 将32为MD5摘要串转换为128位二进制字符串: /// /// 将字符串转成二进制 // ...

  3. 获取图片像素颜色,转换为CSS3 box-shadow显示

    原理: 1.使用FileReader 读取图片 2.使用canvas 的 getImageData 获取图片像素信息 3.将像素信息转换为CSS3 box-shadow 代码: <!DOCTYP ...

  4. 图像像素0-1转换为0-255

    图像像素0-1转换为0-255 import matplotlib.pyplot as plt from skimage import io,data import os import cv2 imp ...

  5. 像素坐标转换为世界坐标

    介绍 像素坐标转换为世界坐标 方法 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); 像素坐标指的是屏幕上像素的位置坐标, ...

  6. 浮点数2^7*29/32中/32是什么意思?

    在408[2009年统考真题]中,浮点数X= 2 7 × 29 / 32 2^7\times29/32 27×29/32,其中29/32就是整数除法,1/32也就是 2 − 5 2^{-5} 2−5, ...

  7. 为什么32 >> 32等于32

    下面是我在刷题过程遇到的问题,并给出了自己的解决方案,如果其中存在错误,还行各位看官不吝赐教,及时指出. 在今天刷Java面试题时遇到这样一道题目: 问题 public class Test{publ ...

  8. favicon图标修改_7个方便,免费的图标和Favicon编辑器

    favicon图标修改 Earlier in the year we looked at some handy, 'pre-fab' icons that were ready to plug str ...

  9. keil5图标变成白色_平面设计:创建万圣节图标

    创建一个新文件 首先创建一个新文档(文件>新建或Control-N),我们将使用以下设置进行调整: 画板数量:1 宽度:800像素 高度:600像素 单位:像素 在"高级"标 ...

最新文章

  1. matlab 多项式拟合 ployval
  2. HTML5 CSS3的新交互特性
  3. 《人潮汹涌》的观后感
  4. OpenCV扫描图像对象的实例(附完整代码)
  5. 【译】 WebSocket 协议第六章——发送与接收消息(Sending and Receiving Data)
  6. [转载] 【python魔术方法】迭代器(__iter__和__next__)
  7. SQLite | Case 子句
  8. jquery 加载提示框
  9. Multisim卸载删除经历(已重新安装)
  10. Win10下NTFS分区变RAW修复的一种错误方法
  11. VMWare共享文件夹的使用
  12. 图扑软件数字孪生油气管道站,搭建油气运输管控平台
  13. IT接地系统工作原理
  14. CPU单线程性能排行榜/天梯图
  15. 突发!ITELLYOU要改版了!
  16. JavaWeb的体育用品商店的设计与实现
  17. 普通年金终值和现值计算(白话版)
  18. Hadoop学习之虚拟机环境配置,防火墙、selinux关闭、集群时间同步(LinuxcentOS7版本)
  19. isEmpty()的坑
  20. JLH统计法统计飞龙(C++) kkmd66

热门文章

  1. 产品经理面试全流程深度复盘【面试准备篇】
  2. 写一函数,将两个字符串连接
  3. unity双击打不开脚本_游戏对象和脚本 (创建一个时钟)
  4. c++输入错误重新输入_管家婆提示本单据的日期太大,请确认后重新输入
  5. server sql top速度变慢解决方案_SQL Server的性能调优:解决查询速度慢的五种方法-数据库...
  6. charles 华为手机使用_华为手机EMUI9.0健康使用手机怎么用?如何控制手机使用时长?...
  7. 区块链在数据流通中的应用
  8. 作者:李廉(1951-),男,合肥工业大学计算机与信息学院教授
  9. 移动应用开发——实验四
  10. 【Java】带你走进Debug的世界