当前位置:我的异常网» 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)相关推荐

  1. 32位色彩的真实含义 -- 24位色彩, 8位透明度

    http://itbbs.pconline.com.cn/diy/9142730.html ------------------------------------------------------ ...

  2. C#生成单色bmp图片,转为单色bmp图片 任意语言完全用字节拼一张单色图,LCD取模 其它格式图片转为单色图

    最终效果: V1.8.2 20230419 文字生成单色BMP图片4.exe 默认1280*720  如果显示不全,请把宽和高加大  字体加大. 首先,用windows画板生成一张1*1白色单色图作为 ...

  3. 【数字图像处理】BMP图片的读取显示存储(C语言实现)

    (一)背景介绍 这段时间接到了一个新活,是关于图像处理的一个探地摄像头的项目.所以也差不多是时候开始学习一下数字图像处理的知识了.本来我们的方案是直接移植opencv,编译一下以后其他就基本啥都不用管 ...

  4. C语言实现BMP图片的放大缩小

    C语言实现BMP图片的放大缩小 BMP图片简介:BMP图片是windows操作系统中的标准图像文件格式,可以分为两类:设备相关位图(DDB)和设备无关位图(DIB),使用广泛.它采用位映射存储格式,除 ...

  5. 纯C++实现24位bmp格式图片的读取和修饰

    问题:现有一张bmp图片,要求将它读取到程序中并进行灰度化.水平翻转.模糊.茶色滤镜四种效果的一种,并输出新图片,如下所示: 命令行输入: 其中: 参数1:-b/g/s/r,先后表示blur(模糊), ...

  6. c++ 24位bmp格式分析

    问题:现有一张bmp图片,要求将它读取到程序中并进行灰度化.水平翻转.模糊.茶色滤镜四种效果的一种,并输出新图片,如下所示: 命令行输入: 其中: 参数1:-b/g/s/r,先后表示blur(模糊), ...

  7. 8位深, 16位深,24位深,32位深图片显示原理及对比

    我们都知道一张图片可以保存为很多种不同的格式,比如bmp/png/jpeg/gif等等.这个是从文件格式的角度看,我们抛开文件格式,看图片本身,我们可以分为8位, 16位, 24位, 32位等. 单击 ...

  8. 北大方正集团收入突破千亿,在中国企业500强排名提升24位

    北京2018年9月5日电 /美通社/ -- 2018年9月2日,由中国企业联合会.中国企业家协会举办,主题为"争创世界一流:新时代的大企业发展"的中国500强企业高峰论坛在陕西省西 ...

  9. C语言实现位图缩放bmp图片(使用命令行)

    学校的课程设计布置的作业,一开始完全没有思路.甚至不知道位图是啥,怎么储存的. 感谢这位博主的文章. 编写一个程序,可以在命令行输入参数,完成指定文件的缩放,并存储到新文件,命令行参数如下 zoom ...

最新文章

  1. [JSOI2007]建筑抢修
  2. go语言实现斐波那契
  3. php 数组是否属于迭代器,数组的迭代器属性Iterator介绍
  4. SharePoint 2013:解决添加域名后每次都需要登录的问题
  5. jetty部署多个web应用及将jetty配置成服务
  6. C51汇编语言16进制加法,51单片机汇编语言带进位加法指令(4条)
  7. 刚刚发现的 xaml里面颜色的定义方式
  8. 会计基础第二次模拟题(3)
  9. 自动化测试工具之 selenium
  10. 基于springboot的高校后勤系统
  11. iOS---NSAutoreleasePool自动释放原理及详解
  12. JS代码对表格进行新增时无法解析HTML代码的解决方式
  13. c#餐饮系统打印机_C# 实现打印机功能
  14. 油猴【QQ空间自动点赞-模拟点击】
  15. PyQt5 -- 安装与发布
  16. 制作纯净系统U盘教程(详细版)
  17. 网络应用程序体系结构
  18. 基于Openwrt 拨号上网(SDX55) (PCIe)移植文档
  19. html 链接excel,如何把excel表格中的文本链接变成可点击打开的网址链接(超链接)?...
  20. 真香!红色警戒游戏源代码被开源了!

热门文章

  1. java 流程控制篇 2021/02/26持续更新中
  2. c 语言银行排队系统,C++实现银行排队系统
  3. linux强制停止压缩任务,6.25任务(linux压缩、打包命令:zip、tar)
  4. onenetsim定位功能吗_经常玩手机的抓紧看看,原来手机键盘还隐藏4个实用功能,真实用...
  5. 天天说常识推理,究竟常识是什么?
  6. 一般化机器学习与神经网络
  7. 论文浅尝 | TANDA: Transfer and Adapt Pre-Trained Transformer Models
  8. 技术动态 | ACL 2019 知识图谱的全方位总结
  9. 8 操作系统第二章 进程管理 信号量 PV操作 用信号量机制实现 进程互斥、同 步、前驱关系
  10. iOS开发-多层嵌套block中如何使用__weak和__strong