GetDeviceCaps(Canvas->Handle,LOGPIXELSY) //Canvas 的 Y 方向的分辨率, 每英寸的像素个数 (dpi)
GetDeviceCaps(Canvas->Handle,LOGPIXELSX) //Canvas 的 X 方向的分辨率, 每英寸的像素个数 (dpi)
某些打印机可能在 X 和 Y 方向的分辨率不同, 所以 X 和 Y 方向的分辨率都要进行计算
英制的“磅”是最常用的打印单位,1英寸=72磅
公制的长度单位换算:1英寸=25.4毫米
Height = 48 * GetDeviceCaps(Canvas->Handle,LOGPIXELSY) / 72; //48磅
Width = 12 * GetDeviceCaps(Canvas->Handle,LOGPIXELSX) / 72; //12磅
Height = 3 * 10 * GetDeviceCaps(Canvas->Handle,LOGPIXELSY) / 25.4; //3厘米
Width = 5 * 10 * GetDeviceCaps(Canvas->Handle,LOGPIXELSX) / 25.4; //5厘米
无论是字体还是图像,都要用这些换算的长度单位。
字体参考
位图要用 Canvas 的 StretchDraw 方法,或者 API 函数 StretchBlt, 按照计算的比例画出
--------------------next---------------------
阅读(1082) | 评论(0) | 转发(0) |