簡體   English   中英

Android Canvas:僅在透明背景上繪制圓

[英]Android Canvas: Drawing a circle only on transparent background

我在Android中有一個畫布,在其中繪制了許多直徑為1到10像素的圓圈。

我只想在透明背景上打印此圓圈,如果要在繪制圓圈的地方的任何地方有其他顏色,則應取消它,我想知道該地方已經存在的顏色。 也當它只是重疊一點。

問題是,我發現的所有方法性能都不好。

我在屏幕上畫了10000多個圓圈,效果很好,但是它們重疊了,我必須解決這個問題。

誰能幫我?? :-)

您的問題不是很清楚。

如果您想“在繪制視圖背景之前”知道存在哪種顏色,則看不到任何解決方案。 如果有人可以找到答案,我將非常感興趣。

如果您想知道“如果您以前繪制的圓與要繪制的當前圓重疊”,那么最好的解決方案是自己以編程方式維護之前繪制的所有圓的列表,它們的中心位置和直徑,並檢查它是否會與新的圓重疊。 該計算非常簡單,並且即使對於1000個圓圈也應該足夠快。

還要注意,有一些方法可以優化這種計算。 例如,如果事情太慢,您可以考慮使用其他距離度量代替經典的歐幾里得度量。 例如,可以使用中心之間的使用絕對值的x和y之差代替其差平方和的平方根。

暫無
暫無

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

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