簡體   English   中英

為什么java.awt.Dimension使用雙倍的高度和寬度?

[英]Why does java.awt.Dimension use doubles for height and width?

來自javadoc

Dimension類封裝組件的寬度和高度(以整數精度)

為什么不將這些表示為intlong

我認為這是因為超類Dimension2D聲明了返回double的方法。 對於大多數解決方案,整數很好,但是當您希望為矢量圖形創建Dimension2D類型時,將維度返回到整數而不是整數。

我相信對此的原始解釋是尺寸通常是相對的,例如圖像的最左邊緣是0.0而圖像的最右邊是1.0當然,垂直尺寸也是如此 )。 像素( 或點 )只是該范圍內相對點的樣本,因此如果您的圖像寬度為350像素,則行的第210個像素位於維度范圍的0.6點。

當然,這只是使用數據類型背后的原因。 實際上,這通常不適用,因為不是從0.01.0的包含范圍,而是使用范圍從0.0[width in pixels].0來代替。


Addentum:如果您對矢量微積分略有了解,那么從0.01.0范圍對您來說應該是非常有意義的。

它必須因為它的父類java.awt.geom.Dimension2D基於雙精度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM