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.
Microsoft.Win32.SystemEvents
as a dependency – EquivalenceSkiaSharp
andImageSharp
both do everything (and more). Skia also supports webp which can be useful. – Graybeard