字体模糊的解决办法 Windows Mobile
今天项目中有一个问题,用DC在一个24位的bitmap上写字体,字体竟然模糊了,因为Windows Mobile的屏幕颜色深度是16位的。
以下是一位网友的代码:
当压缩格式为 BI_BITFIELDS 时,在位图信息(即BITMAPINFOHEADER)后面接着三个DWORD型数据,就是掩码数据,
一般为:0xF800(兰色掩码),0x07E0(绿色掩码),0x001F(红色掩码),这是565的格式
如果为:0x7C00, 0x03E0, 0x001F, 则是555的格式(这也是bitcount=16,而压缩标志为BI_DIB时的默认格式)
BITMAPINFO *bitmapInfo = (BITMAPINFO*)malloc( sizeof(BITMAPINFO)+sizeof(RGBQUAD)*(255) );
memset( bitmapInfo, 0, sizeof(BITMAPINFO)+sizeof(RGBQUAD)*(255) );
bitmapInfo->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
bitmapInfo->bmiHeader.biWidth = m_uWidth;
bitmapInfo->bmiHeader.biHeight = uLineCount*uLineHeight + m_uLineSpace*(uLineCount-1);
bitmapInfo->bmiHeader.biPlanes = 1;
bitmapInfo->bmiHeader.biBitCount = 16;
bitmapInfo->bmiHeader.biCompression = BI_BITFIELDS;
bitmapInfo->bmiHeader.biSizeImage = 0;
bitmapInfo->bmiColors[0].rgbBlue = 0;
bitmapInfo->bmiColors[0].rgbGreen = 0xF8;
bitmapInfo->bmiColors[0].rgbRed = 0;
bitmapInfo->bmiColors[0].rgbReserved = 0;
bitmapInfo->bmiColors[1].rgbBlue = 0xE0;
bitmapInfo->bmiColors[1].rgbGreen = 0x07;
bitmapInfo->bmiColors[1].rgbRed = 0;
bitmapInfo->bmiColors[1].rgbReserved = 0;
bitmapInfo->bmiColors[2].rgbBlue = 0x1F;
bitmapInfo->bmiColors[2].rgbGreen = 0;
bitmapInfo->bmiColors[2].rgbRed = 0;
bitmapInfo->bmiColors[2].rgbReserved = 0;
m_hBitmap = CreateDIBSection( m_hCompatibleDc, bitmapInfo, DIB_RGB_COLORS, &pBitmapBuffer, NULL, NULL );
GetObject( m_hBitmap, sizeof(DIBSECTION), &dibSection );
把这个位图选入DC,然后draw text,字体就清楚了。
转载于:https://www.cnblogs.com/appleseed/archive/2008/12/29/1364390.html
字体模糊的解决办法 Windows Mobile相关推荐
- html 字体模糊,详解css3使用transform出现字体模糊的解决办法
这个问题很奇葩,话不多少直接上代码: .g-dialog-wrapper { position: fixed; top: 50%; left: 50%; transform: translate(-5 ...
- FireFox火狐浏览器字体模糊的解决办法
FireFox火狐浏览器字体模糊的解决办法.打开选项->高级->关闭"自动启用硬件加速"! 解决问题! 转载于:https://my.oschina.net/u/179 ...
- 关于CSS transition:translate导致字体模糊的解决办法
请依次验证以下几种情况: 1 是否使用了translate3d 使用translate3d可能使浏览器开启GPU加速,GPU加速的实现原理会导致模糊,详见segmentfault为何使用css3 tr ...
- css3使用transform出现字体模糊的解决办法
这个问题很奇葩,话不多少直接上代码: .g-dialog-wrapper {position: fixed;top: 50%;left: 50%;transform: translate(-50%, ...
- Adobe acrobat 打开pdf文件字体模糊的解决办法
工具栏-编辑-首选项-渲染-平滑文本-用于显示器 --------我是华丽的分割线-------- 至此,解决完毕,留文存档.
- 升级chrome后字体模糊的解决办法
这里有个最简单的办法:控制面板删除chrome 然后重装. 当然如果你的chrome上有一些书签什么的,你可以用的登录google帐号同步一下.然后再卸载, 重新安装的时候,要断网安装. c ...
- mac中的Windows虚拟机字体太小解决办法
mac中的Windows虚拟机字体太小解决办法 - vue技术交流群(864583465) 1.关闭虚拟机 2.找到虚拟机的设置界面 3.点击显示器,在出现的窗口中勾选掉"Retina全分辨 ...
- 关于VSCode和electron系软件字体发虚/模糊的解决办法
关于VSCode和electron系软件字体发虚/模糊的解决办法 最直接的解决办法是关闭GPU渲染 另一种解决办法,关闭GPU FXAA选项 最直接的解决办法是关闭GPU渲染 在应用程序的快捷方式中加 ...
- Firefox和IE中浏览一些网页字体模糊的解决方法
Firefox中浏览一些网页字体模糊的解决方法 现象:Firefox中浏览一些网页字体模糊,其他网页不会 猜测:这些网页字体定义为Windows里面的字体,而linux没有这些字体,采用默认字体后变模 ...
最新文章
- Opportunity update implementation in backend
- OC2_点语法(属性关键字)
- python库快速安装_python的pip快速安装代码
- 【51nod - 1875】 丢手绢(约瑟夫问题,可打表,用STL模拟)
- 哇、、、、C++ 实现单向链表
- 黄聪:Discuz X2.0 SEO:论坛面包屑导航伪静态 去掉面包屑导航forum.php(转)
- python minimize_【趣味案例】用Python来做一个屏幕录制工具
- android升级异常,升级AndroidX遇到的问题
- Speaking of Samsung, I don’t know if you have any
- await原理 js_深入浅出node.js异步编程 及async await原理
- 朋友易得,知己难求 堪哉
- java request 原理_JavaWeb response和request对象原理及实例解析
- 笨方法学python 习题42
- 2的指数字节转与MB、GB换算关系
- 2022年十大科技应用趋势
- apache common base64编码
- C#基础知识学习之 ✨ 委托的兄弟姐妹们 delegate、Action、Func、Predicate
- 零基础学Java_Map接口、HashMap 类、HashTable 类、TreeMap 类(整理总结)
- 【程序源代码】微信支付接口源码
- python判断语句的使用
热门文章
- [案例]某体育用品公司在零售领域BI的产品应用解决方案
- 帆软报表登录-某些用户需要用自定义的登陆界面,有些用户用默认登录界面
- Python学习——K近邻算法
- weblogic mysql数据源配置文件_通过weblogic数据源实现配置oracle and mysql方法
- rez注入器源码_CF-rez-Tool crossfire的REZ文件全套修改工具 - 下载 - 搜珍网
- python pip升级问题之使用代理端口
- mysql多次join后count优化_mysql join count 优化案例
- java in array_ArrayList to Array Conversion in Java
- Java 1.3.1 带标签的 break语句
- C 库函数 - pow()