1

我正在尝试使用 SixLabors.Imagesharp 创建 Image 类的新实例,但出现错误。我使用的系统使用了旧的 ImageSharp,我们想更新 nuget 包并改用 SixLabors.ImageSharp。

以前的代码是这样的: OLD Code with ImageSharp:

var resultImage = new Image<Rgba32>(outputImageWidth, outputImageHeight);

我尝试用 SixLabors.ImageSharp 编写的新代码完全相同,但这次我得到了按摩:

Severity Code Description   Project File Linem Suppression State
Error CS0315 The type 'SixLabors.ImageSharp.PixelFormats.Rgba32' cannot be used as type parameter 'TPixel' in the generic type or method 'Image<TPixel>'. There is no boxing conversion from 'SixLabors.ImageSharp.PixelFormats.Rgba32' to '?'.

我尝试了很多其他方法来创建新图像,但都失败了。您知道如何使用 SixLabors.Imagesharp 创建新图像吗?

4

2 回答 2

4

像素格式的命名空间已更改,因此您的代码缺少导入。

using SixLabors.ImageSharp.PixelFormats;

以下代码针对1.0.0-rc0001编译并运行

using (var image = new Image<Rgba32>(1000, 1000))
{
    // Do something
}

文档

于 2020-05-26T15:26:32.160 回答
-1

根据文档,构造函数不采用泛型,因此如下修改并尝试。

var resultImage = new Image(outputImageWidth, outputImageHeight);

编辑:更正了文档链接。谢谢@詹姆斯

于 2020-05-26T08:45:45.360 回答