【发布时间】:2009-04-28 09:26:27
【问题描述】:
作为我的应用程序打印过程的一部分,我正在尝试打印缩小到指定宽度并将一个放在另一个下方的图像列表。问题是我无法弄清楚如何将图像的像素高度转换为打印期间图形对象使用的单位高度。如何正确计算 imageHeightPrint 变量?
这段代码 sn-p 是图像打印循环的一部分,它按比例缩小图像并计算它的高度和下一张图像的位置。
Image image = Image.FromStream(imageStream);
// Get proportional correct height
int imageHeight = image.Height * imageWidth / image.Width;
Image imageToPrint = image.GetThumbnailImage(imageWidth, imageHeight, null, IntPtr.Zero);
float imageHeightPrint = e.Graphics.DpiY * imageToPrint.Height / imageToPrint.VerticalResolution;
e.Graphics.DrawImage(imageToPrint, e.MarginBounds.Left, yPos);
yPos += imageHeightPrint;
【问题讨论】: