读书人

映射坐标后TextOut输出变长1个象素!

发布时间: 2012-02-17 17:50:42 作者: rapoo

映射坐标后,TextOut输出变长1个象素!
坐标映射可以如下,总之让X坐标或Y坐标反向一下,就会出现我所说的问题:
SetMapMode(HDC, MM_ANISOTROPIC);
SetWindowExtEx(HDC, WIDTH, HEIGHT, 0);
SetViewportExtEx(HDC, -WIDTH, HEIGHT, 0);
SetViewportOrgEx(HDC, WIDTH, 0, 0);

//下面是测试代码,显示的结果都比不映射坐标时长一个象素,大家用放大镜看看吧
::SetBkMode(hDC, OPAQUE);
::SetBkColor(hDC, 255);
TextOut(hDC, 25, 15, L "000 ", 3);
::SetBkMode(hDC, TRANSPARENT);

[解决办法]
这是很正常的事情,坐标映射过程中因为不能整除,所以丢是部分数据产生了少量像数太正常了。

[解决办法]
设置成 MM_TEXT 模式, 应该不会出现这个问题吧?
[解决办法]
用一下别的模式试试吧!
[解决办法]
lz够细心..!
-------
学习一手!!

读书人网 >VC/MFC

热点推荐