gpt4 book ai didi

c# - 使用 PrintDocument 打印图像。如何调整图像以适合纸张大小

转载 作者:IT王子 更新时间:2023-10-29 04:12:01 32 4
gpt4 key购买 nike

在 C# 中,我尝试使用带有以下代码的 PrintDocument 类打印图像。图片的尺寸为 1200 像素宽和 1800 像素高。我正在尝试使用小型 zeebra 打印机在 4*6 的纸上打印此图像。但是程序只打印了 4*6 的大图。这意味着它没有将图像调整为纸张尺寸!

     PrintDocument pd = new PrintDocument();
pd.PrintPage += (sender, args) =>
{
Image i = Image.FromFile("C://tesimage.PNG");
Point p = new Point(100, 100);
args.Graphics.DrawImage(i, 10, 10, i.Width, i.Height);
};
pd.Print();

当我使用 Window Print 打印相同的图像时(右键单击并选择打印,它会自动缩放到纸张大小并正确打印。这意味着所有内容都在 4*6 纸中。)我如何在我的 C# 中做同样的事情程序 ?

最佳答案

您传递给 DrawImage 方法的参数应该是您希望图像在纸上的大小,而不是图像本身的大小,DrawImage 命令随后会为您处理缩放。可能最简单的方法是使用以下 DrawImage 命令的覆盖。

args.Graphics.DrawImage(i, args.MarginBounds);

注意:如果图像的比例与矩形不同,这将使图像倾斜。一些关于图像大小和纸张大小的简单数学运算将允许您创建一个适合纸张边界的新矩形,而不会扭曲图像。

关于c# - 使用 PrintDocument 打印图像。如何调整图像以适合纸张大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9982579/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com