0
我正在嘗試構建一個應用程序,該應用程序顯示的圖片最初使用純色(黑色)覆蓋。這個想法是,當我點擊黑色屏幕上的某個地方(最初)時,我點擊的黑色像素周圍的圓形區域變得透明,因此我可以看到背後的圖像。顯示覆蓋純色的圖片
我想出的解決方案是使用畫布和我想要覆蓋的圖片作爲背景。黑色封面將以像素分割(存儲在矩陣上 - 圖像最大爲500x500)。所有這些像素最初都會被染成黑色,然後知道用戶單擊的像素會使該像素周圍的所有像素透明(或刪除),直到我清除具有預設直徑的圓形區域。
我對畫布沒有太多的經驗,這個解決方案對我來說似乎相當粗糙。我想問第二個意見,或者如果有人可以給我一個更好的解決方案
我正在Silverlight中開發應用程序,如果這是相關的。
謝謝!
是的!我想說,這與你在Silverlight中開發非常相關。 XAML具有一些非常強大的圖像處理功能。您可以使用不透明蒙版來指定您希望顯示的圖片的哪一部分。此外,silverlight能夠使用您的GPU,您需要明確指定。 – flup
只需製作一個非常大的png,並在中心有一個鏤空圈。將png覆蓋在其他圖像上,但一定要將切口放置在視口外。然後點擊,將png剪切圓圈移動到用戶點擊的位置。所有你需要做的就是計算剪切位置到點擊位置......或者如果你有興趣揭示越來越多的圖像部分,然後使用flup的建議:http://msdn.microsoft.com /en-us/library/ms743320.aspx – evasilchenko
我找到了一個例子:http://silverscratch.blogspot.nl/2010/03/animating-silverlight-opacity-mask.html特別是刻錄代碼,我想。您希望做出與燒傷相反的效果,讓用戶操作而不是計算。 – flup