2012-12-03 33 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 –