SoFunction
Updated on 2025-03-01

C# picture cutting, picture compression, thumbnail generation code summary

This article has compiled the implementation codes for C# image cutting, image compression, and thumbnail generation. You can collect them for your convenience in the future. The specific content is as follows

/// Picture cutting function /// </summary>
 /// <param name="sourceFile">original image file</param> /// <param name="xNum">Number of cuttings on the X axis</param> /// <param name="yNum">The number of cuts on the Y axis</param> /// <param name="quality">mass compression ratio</param> /// <param name="outputFile">Output file name without suffix</param> /// <returns>Return true for success, return false if failed</returns> public static bool imageCut(String sourceFile, int xNum, int yNum, long quality, String outputFile)
 {
  try
  {
   long imageQuality      = quality;
   Bitmap sourceImage      = new Bitmap(sourceFile);
   ImageCodecInfo myImageCodecInfo   = GetEncoderInfo("image/jpeg");
   Encoder myEncoder      = ;
   EncoderParameters myEncoderParameters = new EncoderParameters(1);
   EncoderParameter myEncoderParameter  = new EncoderParameter(myEncoder, imageQuality);
   [0]    = myEncoderParameter;
   float xWidth        =  / xNum;
   float yWidth        =  / yNum;
   String outputImage      = "";
    
   for (int countY = 0; countY &lt; yNum; countY++)
    for (int countX = 0; countX &lt; xNum; countX++)
    {
 
     RectangleF cloneRect    = new RectangleF(countX * xWidth, countY * yWidth, xWidth, yWidth);
     Bitmap newImage     = (cloneRect, PixelFormat.Format24bppRgb);
     outputImage      = outputFile + countX + countY + ".jpg";
     (outputImage, myImageCodecInfo, myEncoderParameters);
 
    }
   return true;
  }
  catch
  {
   return false;
  }
 
 }
 #endregion imageCut
 
 imageCompress
#region
imageCompress
 /**//// <summary>
  /// Picture compression function
  /// </summary>
  /// <param name="sourceFile">original image file</param>
  /// <param name="quality">mass compression ratio</param>
  /// <param name="ouputFile">Output file name, please use the .jpg suffix </param>
  /// <returns>Return true for success, return false if failed</returns>
  public static bool imageCompress(String sourceFile, long quality,String outputFile)
  {
   try
   {
    long imageQuality = quality;
    Bitmap sourceImage = new Bitmap(sourceFile);
    ImageCodecInfo myImageCodecInfo = GetEncoderInfo("image/jpeg");
    Encoder myEncoder = ;
    EncoderParameters myEncoderParameters = new EncoderParameters(1);
    EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, imageQuality);
    [0] = myEncoderParameter;
   
    (outputFile, myImageCodecInfo, myEncoderParameters);
    return true;
 
   }
   catch
   {
    return false;
   }
 
  }
  #endregion imageCompress
 
  getThumImage#region getThumImage
  /**//// &lt;summary&gt;
 /// Generate thumbnails /// &lt;/summary&gt;
 /// <param name="sourceFile">original image file</param> /// <param name="quality">mass compression ratio</param> /// <param name="multiple">Shrink multiple</param> /// <param name="outputFile">Output file name</param> /// <returns>Return true for success, return false if failed</returns> public static bool getThumImage(String sourceFile, long quality, int multiple, String outputFile)
 {
  try
  {
   long imageQuality      = quality;
   Bitmap sourceImage      = new Bitmap(sourceFile);
   ImageCodecInfo myImageCodecInfo  = GetEncoderInfo("image/jpeg");
   Encoder myEncoder      = ;
   EncoderParameters myEncoderParameters = new EncoderParameters(1);
   EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, imageQuality);
   [0]   = myEncoderParameter;
   float xWidth       = ;
   float yWidth       = ;
   Bitmap newImage      = new Bitmap((int)(xWidth /multiple), (int)(yWidth /multiple));
   Graphics g        = (newImage);
    
   (sourceImage, 0, 0, xWidth / multiple, yWidth / multiple);
   ();
   (outputFile,myImageCodecInfo,myEncoderParameters);
   return true;
  }
  catch
  {
   return false;
  }
 }
 #endregion getThumImage
 
 ImageCodecInfo#region ImageCodecInfo
 /**//// &lt;summary&gt;
 /// Get image encoding information /// &lt;/summary&gt;
 private static ImageCodecInfo GetEncoderInfo(String mimeType)
 {
  int j;
  ImageCodecInfo[] encoders;
  encoders = ();
  for (j = 0; j &lt; ; ++j)
  {
   if (encoders[j].MimeType == mimeType)
    return encoders[j];
  }
  return null;
 }

The above is all the content of this article. I hope it will be helpful to everyone's study and I hope everyone will support me more.