2012-01-14 48 views
0

我有一個Silverlight畫布,裏面裝滿了方框。我需要做的是在畫布上找到任何空白空間,因爲這會代表覆蓋範圍的差距(這是針對政策的)。有沒有任何有效的方法來做到這一點?我保存了一份兒童名單和座標,並且我還有一個兩維網格,用於記錄所有事物的位置。我原本通過循環通過該網格完成了這一點,但很快發現這不會工作,因爲網格尺寸大約是800,1000,因此給我一大堆座標來檢查。這是一個畫布和我需要找到的差距的屏幕截圖:在Silverlight畫布中查找空白空間

(更正:我有一個圖像,但顯然我沒有足夠的聲望點發布它,所以我的幫助的期望只是大大降低)

我爲每個孩子保留的座標是頂部,左側,寬度,高度。我也有畫布的邊界。我認爲在某個地方要做到這一點,但目前還沒有運氣。

回答

0

這是有點奇怪的事情要做!如果你想提高性能,爲什麼不把畫布渲染到WriteableBitmap。然後,您可以迭代圖像中的每個像素以確定它是否是基於顏色的空白空間。 WriteableBitmap接口有點基本,所以WriteableBitmapEx codeplex項目可能會很有用,它給你一個非常簡單的'get pixel at'方法。

+0

問題是我實際上需要做它之前呈現。我正在構建的是一種圖表(認爲樹圖更復雜)。畫布表示覆蓋範圍(即汽車責任......),然後每個框都是一個策略。空白空間代表了覆蓋範圍的差距。真的希望我可以發佈它的圖像。 – user1149487 2012-01-15 19:50:11