我正在尝试用C#构建一个通用的Windows应用程序,包括打开一个图像,重新调整它的大小,编辑一些像素的RGB值,然后再次保存它。在网上浏览了一段时间后,我发现大多数人似乎都在使用名称空间"System.Drawing.Imaging“来做类似的事情,然而,当我试图包含"System.Drawing.Imaging”时,Visual Studio告诉我这个名称空间并不存在。
我相信这可能只是一些可用于.NET程序的名称空间对于通用Windows应用程序是不可用的,所以我尝试了更多地查找,并找到了一个类似的名称空间可以使用,"Windows.UI.Xaml.Media.Imaging",但是这个名称空间比"System.Drawing.Imaging“有更多的限制,据我所知不能读取或编辑像素。
有没有其他的命名空间我可以使用,或者在通用的Windows应用程序中使用"System.Drawing.Imaging“的方法?如果不能用C#的通用Windows应用程序做这样的事情,有没有办法用另一种语言来做呢?任何提示或指示都会有所帮助。
发布于 2016-01-29 07:59:10
对于直接的像素操作,您可以使用Windows.UI.Xaml.Media.ImagingWriteableBitmap,并流出和返回其PixelBuffer属性。有一个第三方库WriteableBitmapEx,它提供扩展方法来在缓冲区上执行更高级别的操作。
另一个替代方案是Win2D库,它向UWP应用程序公开了低级的Direct2D和DirectWrite库。
https://stackoverflow.com/questions/35074256
复制相似问题