2011-06-16 43 views
0

幫我:計算CANVAS的空白區域

我有一個畫布。這個畫布中有一些形狀,隨着時間的推移這些形狀隨機變化,它們是不同的類型(如:三角形,平行四邊形,梯形,方形,圓形等)。在每次渲染這些形狀後,該畫布上還留有一些空白區域。

現在,如何在每次隨機呈現這些形狀後計算該畫布的空白區域?

+2

對你的實際設計一無所知,很難說。精確確定這一點的唯一方法是計算畫布的面積,減去所有形狀的面積(您需要參考存儲在某處的形狀),並添加形狀之間的交點面積。不精確但方便且與設計無關的方法是計算畫布上留下的空白像素。 – zneak 2011-06-16 03:46:33

+3

如果畫布的背景是全部相同的顏色,則可以遍歷所有像素,並將背景彩色像素的數量與所有其他彩色像素進行比較。 – Zevan 2011-06-16 04:08:01

回答

1

從畫布區域減去形狀的區域。

如果形狀不重疊,這是請求的區域。

如果形狀重疊,您可以計算重疊,將這些重新添加到以前找到的區域。

如果計算面積和重疊太困難,您可以進行暴力破解並將畫布渲染爲位圖並計算彩色像素。