0

I want to create a PNG file from a System.Drawing.Bitmap with the colours defined using CMYK.

I can create the PNG OK but how do I define 'with CMYK' ?

I've looked at the encoderparameters argument to the save method but it seems to me they don't cover what I need ?

Any pointers/samples appreciated.

thanks

shearichard
  • 1,095
  • 1
  • 17
  • 35

2 Answers2

3

The PNG format was designed for transferring graphics for display on computer screens. PNG files may only transfer grayscale or RGB/RGBA image data; you can't have a CMYK PNG file: http://www.w3.org/TR/2003/REC-PNG-20031110/#11IHDR

JonathonW
  • 857
  • 7
  • 17
0
        .
        .
        .
        MemoryStream ms=new MemoryStream();
        ImageCodecInfo imageCodecInfo = ImageCodecInfo.GetImageDecoders()[0];
        EncoderParameters encoderParameters=new EncoderParameters(1);
        encoderParameters.Param[0] = new EncoderParameter(Encoder.Compression,(int)EncoderValue.);
        bmp.Save(ms,imageCodecInfo, encoderParameters);
        Bitmap newbmp = (Bitmap) Image.FromStream(ms);
        .
        .
Mohammad
  • 11
  • 2