2016-09-15 96 views
0

我什么都试过,但WriteableBitmap的类只是没有.CopyPixels()喜欢它的方法在droumentation说:https://msdn.microsoft.com/de-de/library/system.windows.media.imaging.writeablebitmap_methods(v=vs.110).aspx如何从WriteableBitmap获取像素的颜色?

对微软的Visual Studio 2015年强调红举例:

writeableBitmap.CopyPixels(new Int32Rect(0, 0, 20, 10),pixels, 20 * 4, 0); 
+0

它在我的环境中正常工作。您是否包含对PresentationCore的引用? DLL? – Trifon

+0

现在......是的,还有第二个原因,它没有奏效。我使用“使用Windows.UI.Xaml.Media.Imaging;”而不是“使用System.Windows.Media.Imaging;”。谢谢:) – Fabian

回答

1

根据你的描述,你想要的是WriteableBitmap classUWP。但是,您引用的文档是中的WriteableBitmap Class .NET Framework,它在传统桌面应用程序中使用。有关配套文件,请参阅WriteableBitmap class

以及在UWP的的WriteableBitmap class,我们可以使用WriteableBitmap.PixelBuffer property从像WriteableBitmap拿到像素:

byte[] pixels = writeableBitmap.PixelBuffer.ToArray(); 

欲了解更多信息,请参阅XAML images sample。尽管这是一款Windows 8.1商店应用程序,但它在UWP应用程序中是一样的。

+0

我试过这个解决方案,但是我得到一个错误:'值不能为空。\ r \ n参数名称:source'。也许你有这个问题的想法http://stackoverflow.com/questions/39817619/converting-a-writeablebitmap-image-toarray-in-uwp – JTIM