PDF在72 DPI下绘制图像,如果绘制的分辨率更高,则更小"

时间:2016-07-20 21:51:23

标签: pdfsharp

我在PDFSharp文档中绘制了100 x 100像素的图像。

使用以下方式绘制图像:

 g.DrawImage(image, new Point(x, y));

这里的问题是,如果我从相同的坐标x,y开始绘制一个矩形,并使用100x100作为尺寸...矩形比图像大。

如果我在DrawImage中使用其他重载,设置容器矩形,图像适合矩形,但它会失去质量(它会被放大)。

The logo in the PDF looks like this

我认为这是一个不同分辨率或类似问题的问题。

有什么想法吗?

更新:我将图片大小调整为133x133以适应100x100矩形。这种差异的原因是什么?差异为33%。

我的解决方案:检索图像并将其缩放以适合矩形时,您需要考虑图像的大小是否为PIXELS,而当您在PDF中绘制时它是点。如果您的图像是96 DPI,则需要将其尺寸乘以" 96/72" (这是我得到的33%),这样你会看到你所期望的(即使你用容器矩形或只是起始坐标绘制它)。

设置image.Interpolate = false;以禁用抗锯齿并增加小图像的清晰度。

1 个答案:

答案 0 :(得分:0)

PDF中没有“像素”。 DrawImage具有允许以特定大小绘制图像的重载。

如果省略尺寸(与您一样),尺寸将由图像的DPI设置决定。可能是你的图像设置为96 DPI?

矩形100x100使用点 - 每英寸有72个点。

设置尺寸时图像质量不会下降。 “质量损失”取决于观看者的缩放级别。

您可以设置提示以防止Adobe Reader对图像进行抗锯齿处理。

更新:
设置image.Interpolate = false;以禁用抗锯齿。