プロジェクトを.NET 4.5から.NET Core(ASP.NET Coreを使用)に更新しました。以前のバージョンでは、System.Drawing
のビットマップオブジェクトを使用して画像のサイズを変更する非常に簡単なコードがいくつかありました。
System.Drawing
はクロスプラットフォームではないため、.NET Coreでは使用できませんが、代わりに何を使用できますか?
これをグーグルで検索しましたが、何も見つかりません。私が見つけることができる唯一のものは this postであり、これにはコードがまったくありません。
免責事項:これは私のソフトウェアです。
.NET Core上で実行されるクロスプラットフォームの2Dグラフィックライブラリに取り組んでいます。現在はアルファ版ですが、すでに包括的な機能セットをサポートしています。
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のソースに基づいた.NET CoreのSystem.Drawingの実装を見つけました:
NuGetパッケージは次の場所にあります。
.NET Coreアプリのproject.json
で次のように参照できます:
{
"dependencies": {
"CoreCompat.System.Drawing": "1.0.0-beta006",
...
},
}