2012-12-03 28 views
1

我打算像素化的圖像中的應用C#+ XAMLWindows 8的(Windows應用商店的應用程序) 什麼是做到這一點的最好方法是什麼?像素化用C#+ XAML的圖像

我在C#中找到了這個代碼(http://notes.ericwillis.com/2009/11/pixelate-an-image-with-csharp/),但名稱空間System.Drawing和Bitmap不再存在。

欣賞任何想法!

+0

我發現了一個新的解決方案(使用C++/CX創建的WinRT成分:變形的Direct2D效果工具包)的http://blogs.msdn .com/b/eternalcoding/archive/2012/08/13/create-a-winrt-component-using-c-cx -deform -a -direct2d-effect-toolkit.aspx – Leftman

+0

'System.Drawing'當然仍然存在(你能想象會發生的重大變化嗎?),但是在WPF應用程序中,您需要手動添加對其的引用。也就是說,它可能不是WPF應用程序的最佳選擇,因爲它們使用不同的類型。 –

+0

您需要查看在WPF應用程序中保存圖像數據的類型,並修改Eric Will的代碼以使用您的數據類型。 – Ergwun

回答

4

您只需縮放兩次,一次減少插值,第二次無插值備份。

只需通過分割段大小的寬度和高度來計算「像素」(段)大小。這將是您縮小到的新臨時大小。

通過使用插值,您將在縮放/調整大小時獲得顏色值的近似平均值。放大時關閉插值將爲每個像素創建純色塊,即.pixelated。

+0

是https://en.wikipedia.org/wiki/Pixelation –