举个例子吧:
我的QReport有一个波段:
pageHead 它的高度是60。
上边的页边距是3MM。
请问页边距(3MM) + pageHead高度(60)转换成打印机的DPI
或是转换成毫米应该是多少?
怎么计算呀?
如果转成毫米的话是不是如以下计算方式: 3MM + 60 / 96 * 25.4 //96这个值是根据分辨率等到的
我的QReport有一个波段:
pageHead 它的高度是60。
上边的页边距是3MM。
请问页边距(3MM) + pageHead高度(60)转换成打印机的DPI
或是转换成毫米应该是多少?
怎么计算呀?
如果转成毫米的话是不是如以下计算方式: 3MM + 60 / 96 * 25.4 //96这个值是根据分辨率等到的
mm: Integer;
begin
mm := Round(GetDeviceCaps(Printer.Canvas.Handle, LogPixelsX) / 25.2);
end;
mm: Integer;
begin
mm := Round(GetDeviceCaps(Printer.Canvas.Handle, LogPixelsX) / 25.2);
end;
1 英寸 = 25.4 mmGetDeviceCaps(Printer()->Handle, LOGPIXELSX) 的 X 方向的分辨率,即每英寸的点数
GetDeviceCaps(Printer()->Handle, LOGPIXELSY) 的 Y 方向的分辨率,即每英寸的点数
可是打印出來發現每頁的行數跟預覽的行數不一樣。
請問是不是我算上下左右的頁邊距出了問題?
比如我的上边的页边距是3MM,那它应该是:
GetDeviceCaps(printers.canvas.handle, LOGPIXELSY) * 3 /25.4