2010-08-15 53 views
1

我經常注意到,通過使用Graphics.TranslateTransform()將對象繪製到不同位置時,gdi +繪製相同的對象(例如由一些簡單的DrawLine調用定義)有點不同。它看起來像一些文物,例如1像素細線的結尾出現「折斷」。和其他像素文物一樣...使用轉換偏移量時的GDI +繪圖工件

我也使用ScaleTransform,但所有對象都一樣。有些工件在稍微改變ScaleTransform時會消失,但由於它們出現在另一個位置/對象上,所以沒有機會消除所有工件。

任何想法爲什麼發生這種情況,以及如何避免它?

弗裏茨

回答

0

你往往戰鬥浮點四捨五入與Graphics類,所有的轉化與單精度FP計算。您可以通過縮放模型來避免它,而不是讓圖形執行它。

+0

縮放模型將是一個很大的工作。我想我必須用我自己的轉換方法實現一個Graphics類封裝器。 – fritz 2010-08-17 07:19:10