C语言 BMP24位变单色,怎么将24位色BMP图片改为单色或16色?(2)
当前位置:我的异常网» VC/MFC » 怎么将24位色BMP图片改为单色或16色?
怎么将24位色BMP图片改为单色或16色?(2)
www.myexceptions.net 网友分享于:2013-01-10 浏览:432次
GetClientRect(hWnd,&rc);
Width = rc.right-rc.left;
Height = rc.bottom-rc.top;
}
hDC = GetDC(hWnd); //获取指定的DC
hMemDC = CreateCompatibleDC(hDC);
hBitmap= CreateCompatibleBitmap(hDC, Width, Height);
hTmpBmp= CreateCompatibleBitmap(hDC, 8, 8);
pBmInfoMem = (LPBITMAPINFO)GlobalAlloc(GHND, sizeof(BITMAPINFO)+256*sizeof(RGBQUAD));
pBmInfo = (LPBITMAPINFO)GlobalLock(pBmInfoMem);
SelectObject(hMemDC, hBitmap);
BitBlt(hMemDC,0,0,Width,Height,hDC,0,0,SRCCOPY);
SelectObject(hMemDC, hTmpBmp);
ZeroMemory(pBmInfo, sizeof(BITMAPINFO));
pBmInfo-> bmiHeader.biSize = (DWORD)sizeof(BITMAPINFOHEADER);
pBmInfo-> bmiHeader.biWidth = Width;
pBmInfo-> bmiHeader.biHeight = Height;
pBmInfo-> bmiHeader.biPlanes = 1;
pBmInfo-> bmiHeader.biBitCount = (WORD)GetDeviceCaps(hDC, BITSPIXEL);
pBmInfo-> bmiHeader.biCompression = BI_RGB;
//pBmInfo-> bmiHeader.biCompression = BI_RLE8;
GetDIBits(hDC, hBitmap, 0,Height, NULL, pBmInfo, DIB_RGB_COLORS);
文章评论
C语言 BMP24位变单色,怎么将24位色BMP图片改为单色或16色?(2)相关推荐
- 32位色彩的真实含义 -- 24位色彩, 8位透明度
http://itbbs.pconline.com.cn/diy/9142730.html ------------------------------------------------------ ...
- C#生成单色bmp图片,转为单色bmp图片 任意语言完全用字节拼一张单色图,LCD取模 其它格式图片转为单色图
最终效果: V1.8.2 20230419 文字生成单色BMP图片4.exe 默认1280*720 如果显示不全,请把宽和高加大 字体加大. 首先,用windows画板生成一张1*1白色单色图作为 ...
- 【数字图像处理】BMP图片的读取显示存储(C语言实现)
(一)背景介绍 这段时间接到了一个新活,是关于图像处理的一个探地摄像头的项目.所以也差不多是时候开始学习一下数字图像处理的知识了.本来我们的方案是直接移植opencv,编译一下以后其他就基本啥都不用管 ...
- C语言实现BMP图片的放大缩小
C语言实现BMP图片的放大缩小 BMP图片简介:BMP图片是windows操作系统中的标准图像文件格式,可以分为两类:设备相关位图(DDB)和设备无关位图(DIB),使用广泛.它采用位映射存储格式,除 ...
- 纯C++实现24位bmp格式图片的读取和修饰
问题:现有一张bmp图片,要求将它读取到程序中并进行灰度化.水平翻转.模糊.茶色滤镜四种效果的一种,并输出新图片,如下所示: 命令行输入: 其中: 参数1:-b/g/s/r,先后表示blur(模糊), ...
- c++ 24位bmp格式分析
问题:现有一张bmp图片,要求将它读取到程序中并进行灰度化.水平翻转.模糊.茶色滤镜四种效果的一种,并输出新图片,如下所示: 命令行输入: 其中: 参数1:-b/g/s/r,先后表示blur(模糊), ...
- 8位深, 16位深,24位深,32位深图片显示原理及对比
我们都知道一张图片可以保存为很多种不同的格式,比如bmp/png/jpeg/gif等等.这个是从文件格式的角度看,我们抛开文件格式,看图片本身,我们可以分为8位, 16位, 24位, 32位等. 单击 ...
- 北大方正集团收入突破千亿,在中国企业500强排名提升24位
北京2018年9月5日电 /美通社/ -- 2018年9月2日,由中国企业联合会.中国企业家协会举办,主题为"争创世界一流:新时代的大企业发展"的中国500强企业高峰论坛在陕西省西 ...
- C语言实现位图缩放bmp图片(使用命令行)
学校的课程设计布置的作业,一开始完全没有思路.甚至不知道位图是啥,怎么储存的. 感谢这位博主的文章. 编写一个程序,可以在命令行输入参数,完成指定文件的缩放,并存储到新文件,命令行参数如下 zoom ...
最新文章
- [JSOI2007]建筑抢修
- go语言实现斐波那契
- php 数组是否属于迭代器,数组的迭代器属性Iterator介绍
- SharePoint 2013:解决添加域名后每次都需要登录的问题
- jetty部署多个web应用及将jetty配置成服务
- C51汇编语言16进制加法,51单片机汇编语言带进位加法指令(4条)
- 刚刚发现的 xaml里面颜色的定义方式
- 会计基础第二次模拟题(3)
- 自动化测试工具之 selenium
- 基于springboot的高校后勤系统
- iOS---NSAutoreleasePool自动释放原理及详解
- JS代码对表格进行新增时无法解析HTML代码的解决方式
- c#餐饮系统打印机_C# 实现打印机功能
- 油猴【QQ空间自动点赞-模拟点击】
- PyQt5 -- 安装与发布
- 制作纯净系统U盘教程(详细版)
- 网络应用程序体系结构
- 基于Openwrt 拨号上网(SDX55) (PCIe)移植文档
- html 链接excel,如何把excel表格中的文本链接变成可点击打开的网址链接(超链接)?...
- 真香!红色警戒游戏源代码被开源了!
热门文章
- java 流程控制篇 2021/02/26持续更新中
- c 语言银行排队系统,C++实现银行排队系统
- linux强制停止压缩任务,6.25任务(linux压缩、打包命令:zip、tar)
- onenetsim定位功能吗_经常玩手机的抓紧看看,原来手机键盘还隐藏4个实用功能,真实用...
- 天天说常识推理,究竟常识是什么?
- 一般化机器学习与神经网络
- 论文浅尝 | TANDA: Transfer and Adapt Pre-Trained Transformer Models
- 技术动态 | ACL 2019 知识图谱的全方位总结
- 8 操作系统第二章 进程管理 信号量 PV操作 用信号量机制实现 进程互斥、同 步、前驱关系
- iOS开发-多层嵌套block中如何使用__weak和__strong