رادکام
برای این منظور از کلاس System.Drawing.Imaging.ImageCodecInfo بهره می گیریم و متدهای زیر را به پروژه خوداضافه کرده و از آنها استفاده می نماییم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
public static void ImageQualityLevel() { var bitmap = new System.Drawing.Bitmap(@"C:\TestPhoto.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(encoderType, imageQuality); encoderParameters.Param[0] = parameter; bitmap.Save(@"C:\TestPhotoQualityFifty.bmp", imageEncoder, encoderParameters); bitmap.Dispose(); } private static System.Drawing.Imaging.ImageCodecInfo GetEncoder(System.Drawing.Imaging.ImageFormat format) { var codecs = System.Drawing.Imaging.ImageCodecInfo.GetImageDecoders(); foreach (var codec in codecs) { if (codec.FormatID == format.Guid) { return codec; } } return null; } |
همچنین برای کاهش حجم تصویر می توان از Encoderهای مختلفی مثل Bmp، Gif، Png، Tiff و Jpeg استفاده کرد. اما بهترین فشرده سازی معمولا توسط Jpeg صورت می گیرد و ما هم در متد ImageQualityLevel از این Encoder استفاده کرده ایم. در نهایت فایل تصویر فشرده سازی شده را در محل دلخواه و با فرمت مدنظر ذخیره می نماییم.
برای دریافت اطلاعات بیشتر می توانید به وب سایت مایکروسافت مراجعه نمایید.
5,489بازدید
دیدگاه کاربران
هنوز دیدگاهی ثبت نشده است.
شما میتوانید درباره این مقاله، دیدگاه خود را ثبت کنید.