我已经将项目从.NET 4.5更新为.NET Core(带有ASP.NET Core)。在以前的版本中,我有一些非常简单的代码,这些代码使用位图对象从System.Drawing
调整图像的大小。
据我了解System.Drawing
,不能在.NET Core中使用它,因为它不是跨平台的,但是可以代替使用什么呢?
我已经用谷歌搜索了,找不到任何东西。我唯一能找到的就是这篇文章,至今没有任何代码。
我已经将项目从.NET 4.5更新为.NET Core(带有ASP.NET Core)。在以前的版本中,我有一些非常简单的代码,这些代码使用位图对象从System.Drawing
调整图像的大小。
据我了解System.Drawing
,不能在.NET Core中使用它,因为它不是跨平台的,但是可以代替使用什么呢?
我已经用谷歌搜索了,找不到任何东西。我唯一能找到的就是这篇文章,至今没有任何代码。
Answers:
免责声明:这是我的软件。
我正在运行在.NET Core上的跨平台2D图形库。它目前是alpha版本,但已经支持全面的功能集。
https://github.com/JimBobSquarePants/ImageSharp
用法示例。
using (FileStream stream = File.OpenRead("foo.jpg"))
using (FileStream output = File.OpenWrite("bar.jpg"))
{
Image image = new Image(stream);
image.Resize(image.Width / 2, image.Height / 2)
.Greyscale()
.Save(output);
}
您现在可以使用官方(来自Microsoft)System.Drawing.Common NuGet程序包。
我发现基于Mono的源的System.Drawing for .NET Core的实现保持在:
NuGet软件包位于:
您可以通过以下方式在.NET Core应用程序中引用它project.json
:
{
"dependencies": {
"CoreCompat.System.Drawing": "1.0.0-beta006",
...
},
}
Aspose.Drawing可以使用与System.Drawing兼容的API来处理图像,并具有.NET Core 2.0+支持的完全托管和跨平台功能。(我是开发人员之一。)