'.Net Core unable to use Bitmap
I am working on a Web Service using .Net Core 2.1.
I have a byte array containing all pixels values (in grey scale), a width, a height. I want to create a bitmap from theses parameters.
There is my code (from a working .Net Framework 4 project) :
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;
}
But in .NET Core, I've the error :
The type or namespace name 'Bitmap' could not be found (are you missing a using directive or an assembly reference?)
I've try to add reference to System.Drawing but it did not work.
Solution 1:[1]
You can use ImageSharp instead of System.Drawing
https://github.com/SixLabors/ImageSharp
Nuget console
Install-Package SixLabors.ImageSharp -Version 1.0.0-beta0005
Solution 2:[2]
Bitmap
is part of System.Drawing
which was included in .Net Framework.
It is no longer included with .net core and must be added manually.
Install the Nuget package System.Drawing.Common
by right-clicking on your project in visual studio and choosing Manage Nuget Packages
In the Nuget Package manager, click on the Browse Tab
, search for System.Drawing.Common
in the top and it should be the first Package, official by Microsoft. It will work just as in .Net Framework:
Solution 3:[3]
There is a NuGet package instead of System.Drawing, you can use it
Install-Package System.Drawing.Common
Solution 4:[4]
Aspose.Drawing is a drop-in cross-platform replacement for System.Drawing. The library is fully managed and supports Web Services using .Net Core 2.1. (I'm one of the developers.)
Solution 5:[5]
This one worked for me
dotnet add package System.Drawing.Common --version 5.0.3
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Mat |
Solution 2 | |
Solution 3 | pejman |
Solution 4 | Sergey Vlasov |
Solution 5 | Shunya |