显示图片时屏幕将图片的像素大小当作毫米来显示..? 在OnDraw时用了graphics.SetPageUnit(UnitMillimeter);//设置一个单位为1毫米将当前屏幕显示单位转换为毫米,但是在显示图片时屏幕将图片的像素大小当作毫米来显示..要怎样来解决? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 无论用什么单位,最终都要转换成像素值,这依赖于输出设备的DPI参数,通常屏幕的DPI是96,通过GetDeviceCaps来获取水平和垂直方向的DPI。1英寸 = 25.4 毫米这样转换成像素大小:x = 毫米数 * GetDeviceCaps(屏幕DC,LOGPIXELSX) * 10 / 254;y = 毫米数 * GetDeviceCaps(屏幕DC,LOGPIXELSY) * 10 / 254; 这是个 关于设备坐标 和逻辑坐标的问题。前者以 像素为单位, 二逻辑单位受到 映射模式的限制,一般我们都不太管,默认为MM_TEXT,还有些 其他模式,楼主 可参考 技术内幕 看一下 DrawImage前恢复原来的映射模式,显示完成后再设置成你想要的。 listcontrol控件怎么获得表中的数据 背景色的绘制问题???? 窗体分割后控件和主窗口同步的问题 大家帮忙分析一下,这段代码会不会出现异常 为什么写进去的信息不对 做了个控件放进网页里,打开时老提示可能不安全,是不是少个安全证书?怎么做安全证书? 请问如何将一个类的普通的成员函数的地址进行输出?急用!!! 与测试高手探讨一个问题 请问MSC是什么东西? 学vc有哪些好书阿? 请高手帮忙...急....关于文件夹操作的问题! 请教大家一个visual studio中有关输出的问题
1英寸 = 25.4 毫米
这样转换成像素大小:
x = 毫米数 * GetDeviceCaps(屏幕DC,LOGPIXELSX) * 10 / 254;
y = 毫米数 * GetDeviceCaps(屏幕DC,LOGPIXELSY) * 10 / 254;
前者以 像素为单位, 二逻辑单位受到 映射模式的限制,一般我们都不太管,默认为MM_TEXT,还有些 其他模式
,楼主 可参考 技术内幕 看一下