.Net Core でビットマップが使用できない 質問する

.Net Core でビットマップが使用できない 質問する

私は .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

BitmapSystem.Drawing.Net Framework に含まれていた部分です。

これは .net core には含まれなくなったため、手動で追加する必要があります。

System.Drawing.CommonVisual Studioでプロジェクトを右クリックしてNugetパッケージをインストールし、Manage Nuget Packages

NuGet パッケージ マネージャーで、 をクリックし、上部で をBrowse Tab検索すると、Microsoft が公式に提供している最初のパッケージが表示されます。.Net Framework と同じように動作します。System.Drawing.Commonここに画像の説明を入力してください

おすすめ記事