mahan206
دوشنبه 30 دی 1398, 19:31 عصر
سلام
من از این روش برای فشرده سازی تصاویر استفاده کردم.
public static MemoryStream ImageQualityLevel()
{
var bitmap = new System.Drawing.Bitmap(@"d:\123.bmp");
var imageEncoder = GetEncoder(System.Drawing.Imaging.ImageFormat.Jpeg );
var encoderType = System.Drawing.Imaging.Encoder.Quality;
var encoderParameters = new System.Drawing.Imaging.EncoderParameters(1);
var imageQuality = 50L;
var parameter = new System.Drawing.Imaging.EncoderParameter(encoderTyp e, imageQuality);
encoderParameters.Param[0] = parameter;
MemoryStream ms=new MemoryStream();
bitmap.Save(ms, imageEncoder, encoderParameters);
bitmap.Dispose();
return ms;
}
private static System.Drawing.Imaging.ImageCodecInfo GetEncoder(System.Drawing.Imaging.ImageFormat format)
{
var codecs = System.Drawing.Imaging.ImageCodecInfo.GetImageDeco ders();
foreach (var codec in codecs)
{
if (codec.FormatID == format.Guid)
{
return codec;
}
}
return null;
}
یک عکس 3.90 مگا بایتی رو تبدیلش کرد به 3.20 مگا بایت؟؟؟ حتی وقتی 10L هم شد شد2.9 مگا بایت در کل چه روشی وجود داره که عکس 4 مگ بشه 248 کیلو بایت؟
مثل نرم افزاری که داخل مجموعه آفیس هست و کمپرس تصویرش این کار رو انجا میده.
من از این روش برای فشرده سازی تصاویر استفاده کردم.
public static MemoryStream ImageQualityLevel()
{
var bitmap = new System.Drawing.Bitmap(@"d:\123.bmp");
var imageEncoder = GetEncoder(System.Drawing.Imaging.ImageFormat.Jpeg );
var encoderType = System.Drawing.Imaging.Encoder.Quality;
var encoderParameters = new System.Drawing.Imaging.EncoderParameters(1);
var imageQuality = 50L;
var parameter = new System.Drawing.Imaging.EncoderParameter(encoderTyp e, imageQuality);
encoderParameters.Param[0] = parameter;
MemoryStream ms=new MemoryStream();
bitmap.Save(ms, imageEncoder, encoderParameters);
bitmap.Dispose();
return ms;
}
private static System.Drawing.Imaging.ImageCodecInfo GetEncoder(System.Drawing.Imaging.ImageFormat format)
{
var codecs = System.Drawing.Imaging.ImageCodecInfo.GetImageDeco ders();
foreach (var codec in codecs)
{
if (codec.FormatID == format.Guid)
{
return codec;
}
}
return null;
}
یک عکس 3.90 مگا بایتی رو تبدیلش کرد به 3.20 مگا بایت؟؟؟ حتی وقتی 10L هم شد شد2.9 مگا بایت در کل چه روشی وجود داره که عکس 4 مگ بشه 248 کیلو بایت؟
مثل نرم افزاری که داخل مجموعه آفیس هست و کمپرس تصویرش این کار رو انجا میده.