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 < yNum; countY++) for (int countX = 0; countX < 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 /**//// <summary> /// Generate thumbnails /// </summary> /// <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 /**//// <summary> /// Get image encoding information /// </summary> private static ImageCodecInfo GetEncoderInfo(String mimeType) { int j; ImageCodecInfo[] encoders; encoders = (); for (j = 0; j < ; ++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.