Я бы попытался преобразовать изображение в сжатый JPEG.Хорошая особенность jpegs в том, что вы можете установить, насколько высоким должно быть качество (то есть, насколько вы хотите, чтобы оно сжималось):
Примечание: качество должно быть от 1 до 100 (100 - самый большой размер / высшее качествои 1 - самый маленький размер / самое низкое качество.
public void save(string filename, Bitmap img, int quality)
{
// quality encoding
EncoderParameter qualParam = new EncoderParameter(Encoder.Quality, quality);
// code for jpeg image type
ImageCodecInfo jpegCodec = FindEncoderInfo("image/jpeg");
EncoderParameters encoderParams = new EncoderParameters(1);
encoderParams.Param[0] = qualParam;
img.Save(filename, jpegCodec, encoderParams);
}
private ImageCodecInfo FindEncoderInfo(string mimeType)
{
// search through all codecs for all formats
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
for (int i = 0; i < codecs.Length; i++)
{
if (codecs[i].MimeType == mimeType)
{
return codecs[i];
}
}
return null;
}