2013-01-04 55 views
0

比方說,我在iOS(一種顏色)屏幕上有一個堅實的,不規則形狀(但封閉)的形狀。然後,我想通過像在典型的兒童着色應用程序中拖動手指一樣來「擦除」那些形狀的部分,然後使用固定的筆刷大小在我觸摸屏幕的位置進行擦除。檢測繪製圖像的百分比已被「擦除」

但是,我可以很容易地完成所有這些,如圖像蒙版和觸摸檢測,但作爲一項要求,我還需要確定剩餘形狀的粗略百分比。

例如,我需要知道何時50%的隨機封閉形狀已被「擦除」。

解決此問題的最佳方法是什麼?是否有任何現有的iOS兼容庫可以處理它?我在想,我需要跟蹤大量的多邊形並計算所有重疊,但似乎必須有解決此問題的方法。

編輯:我已經做了這個問題的研究,但手動跟蹤所有的多邊形和計算所有的位置和麪積重疊似乎過於複雜。我只是想知道是否有其他人遇到了類似的問題,並找到了更好的解決方案。

回答

2

您需要先了解圖像視圖的固定空間。那麼您將需要知道新圖像加載時空白區域的百分比。像素

double percentageFilledIn = ((double)nonBlankPixelCount/totalpixels); 

之後你得到的價值,你將需要使用百分比作爲基準現有百分比

新的計算將這個樣子。

double percentageOfImageLeft = ((double)nonBlankPixelCount/totalpixels/percentageFilledIn); 

這個計算可能是處理器密集型的。我只會謹慎計算。

由於本文不是關於代碼和更多關於登錄我會讓你確定你的邏輯檢測非空白像素。

這裏是如何找到像素顏色。

How to get Coordinates and PixelColor of TouchPoint in iOS/ObjectiveC

祝你好運。

+0

這可能是處理器密集程度過高,但面積不是太大,所以它可能工作。謝謝。 – iamamused