2013-07-26 65 views
1

我讀過wpf程序可以在像素之間畫線,然後在一個像素上顯示.5線,在另一個像素上顯示線。這是否意味着我可以繪製的線條有多小,除了硬件限制之外沒有實際限制?線條的最小繪製尺寸是多少?

+1

之間設計任何長度的線路記得有一個*變焦*設置太.. –

+0

以及一個像素線不完全是一條線... – Sayse

+0

一個點與它自身之間的一條線... –

回答

1

WPF使用double來表示所有的幾何屬性(如一條線的長度)。當涉及到實際輸出到屏幕時,這些顯然會四捨五入到像素,但是這發生在覈心層面。至於你,作爲一個程序員,要知道,你可以double.MinValuedouble.MaxValue(± 1.8E + 308)

+0

確實每個像素只取該線的平均值的交叉點嗎?因爲我知道這條線不必與像素對齊,所以這意味着線的一半在一個像素上,另一半在另一個像素上......所以這意味着兩個像素的強度都是部分穿過像素的彩色線? –

+0

@JamesJoshuaStreet是的!兩個像素都會有一些線。究竟是什麼數量(無論是強度的一半還是其他)受許多因素影響,包括中風。當繪製寬度爲1的平行線時,這很容易看出:那些像素上的線(由於WPF使用中心作爲參考,其位置爲n-0.5)看起來比那些更清晰和更暗關閉像素。 如果您需要將線條設置爲像素,則可以使用[UIElement.SnapToDevicePixels](http://msdn.microsoft.com/en-us/library/system.double.maxvalue.aspx)屬性。 –