首页 > 其他分享 >单色位图、颜色(色彩)位图相互转换

单色位图、颜色(色彩)位图相互转换

时间:2022-12-07 15:37:11浏览次数:61  
标签:转换 color dc 单色 background specified 位图 色彩


The SetBkColor function sets the current background color to the specified color value, or to the nearest physical color if the device cannot represent the specified color value.


COLORREF SetBkColor( HDChdc, // handle to DC COLORREFcrColor // background color value );


Remarks

If the background mode is OPAQUE, the background color is used to fill gaps between styled lines, gaps between hatched lines in brushes, and character cells. The background color is also used when converting bitmaps from color to monochrome and vice versa. 

 

SetTextColor

The SetTextColor function sets the text color for the specified device context to the specified color.


COLORREF SetTextColor( HDChdc, // handle to DC COLORREFcrColor // text color );



Remarks

The text color is also used in converting bitmaps from color to monochrome and vice versa.

 

在MSDN中,以上两个函数(一个是设置背景色,一个是设置前景色)的Remarks下均有说到设置的颜色,在单色位图转色彩位图中会被用到,反之易然。

但是没有具体说明具体的转换原理,我也查找了很久,在官方文档上也没搜索到相关的说明,以下是来自网络朋友的总结,感觉总结的很好,特此引用过来。

 

以下内容全部来自:​​http://www.programgo.com/article/20281711249/​

 

当目标dc的位图是颜色位图,源dc的位图是单色的时候,单色位图在实际的光栅操作(ROP)之前会被转换成颜色位图,对应的位如果是0,则被转换目标dc的前景色,如果该位是1,则被转换成目标dc的背景色。相反,如果目标dc的位图是单色位图,源dc的位图是颜色位图,则在实际光栅操作之前要把颜色位图转换成单色位图,转换规则是,颜色位图中所有和背景色一致的象素都变成1,其他的象素都被转换成0。

 

以上这些是本人自己的观察,理解和总结,至今还没有查到官方的描述。

标签:转换,color,dc,单色,background,specified,位图,色彩
From: https://blog.51cto.com/u_15905375/5919598

相关文章

  • Java数组和字符串的相互转换
    Java数组和字符串的相互转换字符串转换为数组JavaString类中的toCharArray()方法将字符串转换为字符数组,具体代码如下所示。Stringstr="123abc";char[]arr=......
  • java基础之数据类型转换
    一简介1.Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。由低到高:byte,short,char——int——long——float——double二转换类型1.强制转换由高到低......
  • NNIE模型转换环境搭建 转载
    NNIE模型转换环境搭建《NNIE模型转换环境搭建》  推荐使用开源项目https://github.com/RaySue/NNIE-lite,使用NNIE像使用ncnn一样简单。KeyWords:多版本gcc安装、NNIE......
  • 喜马拉雅里下载的音频怎么转换成mp3格式?
    对于一位视频剪辑爱好者来说,下载各种在线的视频、音频媒体积累素材可以说是家常便饭了。 但是经常下载的朋友会发现:很多常用的下载方法已经陆续失效了。 比如B站视频......
  • 喜马拉雅音频文件批量转换成mp3格式
    喜马拉雅fm怎么一次性全部导出mp3?很遗憾的告诉大家,目前并没有哪个工具可以转换喜马拉雅的音频格式!不过,我整理了一些直接可以将音频下载成mp3格式的方法,有了这些方法直接能......
  • js base64与字符串互相转换
    1.情景展示在js当中,如何把base64字符串解码成字符串?如何把字符串进行base64编码?2.base64编码将字符串转base64格式window.btoa(str)  3.base64解码将base64格......
  • 详记apache-poi的使用,将word,excel,ppt转换为html
    原文:https://blog.51cto.com/yunyaniu/5210961java:Java的jar包之POI的简介、安装、使用方法(基于POI的转换-Word、Excel、Ppt等转html)之详细攻略目录POI的简介1、基......
  • java (String)强制转换与toString()方法
    1.Object.toString()介绍Object中是自带有toString()方法的,也就是说java中的所有类的对象都是可以转换为字符串的。首先,先看看Object.toString()的默认实现public......
  • 哪些原因会导致rs485转换器信号受干扰?
    485转换器主要的作用是将单端的RS-232信号转换为平衡差分的RS-485或RS-422信号。由于长距离信息传输、抗干扰能力强等原因,rs485转换器在安防通信等领域得到普遍的使用。但是......
  • 【Python小随笔】将str类型的list列表,转换成List类型
    str_list="['001678,英大国企改革主题股票,YDGQGGZTGP,2022-12-05,1.6577,2.3077,1.15,4.62,3.72,1.57,15.88,34.04,46.95,115.66,33.43,152.94,2018-11-22,1,34.61......