问题描述
我最初遇到的问题是System.Drawing在UWP应用程序中不起作用。进行简短的网络搜索后,出现了ImageProcessor(https://imageprocessor.org/imageprocessor/#about)。 我目前的情况是:
我正在尝试将白色图像更改为某种颜色,现在它看起来像是ImageProcessor使用System.Drawing.Color,但这没问题。造成问题的是,如果我寻址ImageFactory的对象,它将以该错误消息响应:CS7069对类型“ Image”的引用声称它在“ System.Drawing”中定义,但找不到。
这是我的代码:
byte[] photoBytes = File.ReadAllBytes(source);
using (MemoryStream inStream = new MemoryStream(photoBytes))
{
using (MemoryStream outStream = new MemoryStream())
{
using (ImageFactory imageFactory = new ImageFactory(preserveExifData: true))
{
imageFactory.Load(inStream).BackgroundColor(Color.FromArgb(argb[0],argb[1],argb[2],argb[3])).Save(outStream);
}
}
}
红线在imageFactory.Load下。
如果您知道如何解决此问题,或者您知道头不同,那就太好了。预先谢谢你
解决方法
我设法在uwp应用程序中安装了ImageProcessor,并且收到以下警告:
ImageProcessor 2.9.1' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework 'UAP,Version=v10.0.17763'. This package may not be fully compatible with your project.
制作了.net Core控制台应用-同样的警告。
似乎ImageProcessor需要一个.Net目标框架。
实际上,我已经制作了一个简单的.net 4.7控制台应用程序,结果是:
在检查nuget软件包时,它清楚地说明了依赖性: