• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Save JPEG images tùy chỉnh chất lượng

Các thủ thuật về truyền thông đa phương tiện, đồ họa

Điều hành viên: tungcan5diop, QUANITGROBEST

Hình đại diện của người dùng
PhapSuXeko
Mạnh Thường Quân
Mạnh Thường Quân
Bài viết: 295
Ngày tham gia: CN 03/05/2009 7:44 pm
Đến từ: Tây Ninh
Has thanked: 1 time
Been thanked: 10 time
Liên hệ:

Save JPEG images tùy chỉnh chất lượng

Gửi bàigửi bởi PhapSuXeko » T.Năm 25/02/2010 11:42 am

Thủ thuật: Save JPEG images tùy chỉnh chất lượng
Tác giả: Kourosh Derakshan
Mô tả: Save JPEG images tùy chỉnh chất lượng



Code VB.NET


  1. Dim myImage As Image = ' ... load the image somehow
  2. ' Save the image with a quality of 50%
  3. SaveJpeg(destImagePath, myImage, 50)

  1. ' Please do not remove
  2.     ' Written by Kourosh Derakshan
  3.     '
  4.  
  5.     'add this!
  6.     Imports System.Drawing.Imaging
  7.  
  8.  
  9.     ' Saves an image as a jpeg image, with the given quality
  10.     ' Gets:
  11.     '   path   - Path to which the image would be saved.
  12.     '   quality - An integer from 0 to 100, with 100 being the
  13.     '           highest quality
  14.     Public Shared Sub SaveJpeg(ByVal path As String, ByVal img As Image, ByVal quality As Long)
  15.         If ((quality < 0) OrElse (quality > 100)) Then
  16.             Throw New ArgumentOutOfRangeException("quality must be between 0 and 100.")
  17.         End If
  18.  
  19.         ' Encoder parameter for image quality
  20.         Dim qualityParam As New EncoderParameter(Encoder.Quality, quality)
  21.         ' Jpeg image codec
  22.         Dim jpegCodec As ImageCodecInfo = GetEncoderInfo("image/jpeg")
  23.  
  24.         Dim encoderParams As New EncoderParameters(1)
  25.         encoderParams.Param(0) = qualityParam
  26.         img.Save(path, jpegCodec, encoderParams)
  27.     End Sub
  28.  
  29.  
  30.  
  31.     ' Returns the image codec with the given mime type
  32.     Private Shared Function GetEncoderInfo(ByVal mimeType As String) As ImageCodecInfo
  33.         ' Get image codecs for all image formats
  34.         Dim codecs As ImageCodecInfo() = ImageCodecInfo.GetImageEncoders()
  35.  
  36.         ' Find the correct image codec
  37.         For i As Integer = 0 To codecs.Length - 1
  38.             If (codecs(i).MimeType = mimeType) Then
  39.                 Return codecs(i)
  40.             End If
  41.         Next i
  42.  
  43.         Return Nothing
  44.     End Function


Code C#:

  1. Image myImage = //... load the image somehow
  2. // Save the image with a quality of 50%
  3. SaveJpeg (destImagePath, myImage, 50);

  1. // Please do not remove
  2. // Written by Kourosh Derakshan
  3. //
  4.  
  5. //add this!
  6. using System.Drawing.Imaging;
  7.  
  8.                           /// <summary>
  9.         /// Saves an image as a jpeg image, with the given quality
  10.         /// </summary>
  11.         /// <param name="path">Path to which the image would be saved.</param>
  12.         // <param name="quality">An integer from 0 to 100, with 100 being the
  13.         /// highest quality</param>
  14.         public static void SaveJpeg (string path, Image img, int quality)
  15.         {
  16.             if (quality<0  ||  quality>100)
  17.                 throw new ArgumentOutOfRangeException("quality must be between 0 and 100.");
  18.  
  19.              
  20.             // Encoder parameter for image quality
  21.             EncoderParameter qualityParam =
  22.                 new EncoderParameter (Encoder.Quality, quality);
  23.             // Jpeg image codec
  24.             ImageCodecInfo   jpegCodec = GetEncoderInfo("image/jpeg");
  25.  
  26.             EncoderParameters encoderParams = new EncoderParameters(1);
  27.             encoderParams.Param[0] = qualityParam;
  28.  
  29.             img.Save (path, jpegCodec, encoderParams);
  30.         }
  31.  
  32.         /// <summary>
  33.         /// Returns the image codec with the given mime type
  34.         /// </summary>
  35.         private static ImageCodecInfo GetEncoderInfo(string mimeType)
  36.         {
  37.             // Get image codecs for all image formats
  38.             ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
  39.  
  40.             // Find the correct image codec
  41.             for(int i=0; i<codecs.Length; i++)
  42.                 if(codecs[i].MimeType == mimeType)
  43.                     return codecs[i];
  44.             return null;
  45.         }


Trang chủ phần mềm xem ảnh ImageGlass: http://www.imageglass.org

Quay về “[.NET] Âm thanh và Đồ họa”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.0 khách