私は .Net Core 2.1 を使用して Web サービスに取り組んでいます。
すべてのピクセル値 (グレースケール)、幅、高さを含むバイト配列があります。これらのパラメータからビットマップを作成したいと思います。
私のコードは次のとおりです (動作中の .Net Framework 4 プロジェクトから):
public FileResult PostSealCryptItem(Byte[] matrix, int width, int height)
{
Bitmap bmp = new Bitmap(width, height, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
for (int y = 0; y < height; y++)
for (int x = 0; x < width; x++)
bmp.SetPixel(x, y, Color.FromArgb(ToArgb(matrix, x, y)));
Byte[] data = BitmapToByteArray(bmp);
FileContentResult result = new FileContentResult(data , "image/png");
return result;
}
しかし、.NET Core では次のエラーが発生します:
型または名前空間名 'Bitmap' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)
System.Drawing への参照を追加しようとしましたが、機能しませんでした。
ベストアンサー1
Bitmap
System.Drawing
.Net Framework に含まれていた部分です。
これは .net core には含まれなくなったため、手動で追加する必要があります。
System.Drawing.Common
Visual Studioでプロジェクトを右クリックしてNugetパッケージをインストールし、Manage Nuget Packages
NuGet パッケージ マネージャーで、 をクリックし、上部で をBrowse Tab
検索すると、Microsoft が公式に提供している最初のパッケージが表示されます。.Net Framework と同じように動作します。System.Drawing.Common