24位的Bmp图转成8位Bmp如何尽量做到质量一致?不是灰度,尽量减少失真

解决方案 »

  1.   


    ImageCodecInfo[] MyInfos = ImageCodecInfo.GetImageEncoders();
                ImageCodecInfo InfoPNG = MyInfos[0];
                for (int i = 0; i < MyInfos.Length; i++)
                {
                    if (MyInfos[i].FormatDescription == "PNG ")
                    {
                        InfoPNG = MyInfos[i];
                    }
                }
                System.Drawing.Imaging.Encoder MyEncoder = System.Drawing.Imaging.Encoder.ColorDepth;
                EncoderParameters MyParams = new EncoderParameters();
                EncoderParameter MyParam = new EncoderParameter(MyEncoder, 8L);
                MyParams.Param[0] = MyParam;
                Bitmap.Save(文件名, InfoPNG, MyParams);