我正在繪製PDFSharp文檔中的100 x 100像素的圖像。PDFsharp繪製圖像在72 DPI,如果更多分辨率繪製「更小」
該圖像是使用得出:
g.DrawImage(image, new Point(x, y));
這裏的問題是,如果我在同一個座標x,y繪製一個矩形,並開始使用100×100作爲dimensiones ......矩形比圖像大。
如果我在DrawImage中使用其他重載,設置容器矩形,圖像適合矩形,但它會丟失質量(它被放大)。
我認爲這是不同的分辨率或類似的東西的問題。
任何想法?
更新:我將圖像大小調整爲133x133以適合100x100矩形。這種差異的原因是什麼? 33%的差異。
我的解決方案:當檢索圖像並對其進行縮放以適合矩形時,需要考慮圖像的大小是否在像素中,並且在繪製PDF時是以點爲單位。如果你的圖像是96 DPI,你需要增加它的尺寸乘以「96/72」(這是我得到的33%),這樣你就會看到你的期望(即使你使用容器矩形繪製它或者只是起始座標)。
設置image.Interpolate = false;
禁用抗鋸齒功能並增加小圖像的清晰度。
更新主題標題的時間:PDFsharp(s爲小寫)以正確的大小繪製圖像,但不是您期望的大小。將圖像設置爲72 DPI,圖像將填充矩形。 –
你的「解決方案」沒有多大意義。 PDFsharp使用點作爲默認單位,一點是1/72英寸。如果您繪製圖像時未指定大小,則將以圖像文件中指定的大小(對於在Windows下創建的許多圖像爲96 DPI)繪製圖像。 「點」不是像素,它是1/72英寸。我不建議調整所有圖像的大小,以便能夠在不指定大小的情況下使用「DrawImage」。 –
不...我的圖片比較大......我將它調整到100x100,現在我將它調整到133×133(如果它是96Dpi)以適合100x100點的平方。用或不用指定大小繪製它都是不相關的。 – Romias