Search code examples
c#pngjpeg

Converting a byte array to PNG/JPG


I am currently working on an application that requires high-performance conversion of an unpadded byte array to either a PNG or JPEG. The image format doesn't matter, just as long as it's fast.

I have tried the .NET libraries and the performance is very bad. Can anyone recommend a good freeware library for this?

EDIT: the byte[] is an 8bit grayscale bitmap


Solution

  • You should be able to do something like this:

    using System.Drawing.Imaging;
    using System.Drawing;
    using System.IO;
    
    byte[] bitmap = GetYourImage();
    
    using(Image image = Image.FromStream(new MemoryStream(bitmap)))
    {
        image.Save("output.jpg", ImageFormat.Jpeg);  // Or Png
    }
    

    Look here for more info.

    Hopefully this helps.