**//// <summary> /// 圖片切割函數 /// </summary> /// <param name="sourceFile">原始圖片文件</param> /// <param name="xNum">在X軸上的切割數量</param> /// <param name="yNum">在Y軸上的切割數量</param> /// <param name="quality">質量壓縮比</param> /// <param name="outputFile">輸出文件名,不帶后綴</param> /// <returns>成功返回true,失敗則返回false</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 = Encoder.Quality; EncoderParameters myEncoderParameters = new EncoderParameters(1); EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, imageQuality); myEncoderParameters.Param[0] = myEncoderParameter; float xWidth = sourceImage.Width / xNum; float yWidth = sourceImage.Height / 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 = sourceImage.Clone(cloneRect, PixelFormat.Format24bpPRgb); outputImage = outputFile + countX + countY + ".jpg"; newImage.Save(outputImage, myImageCodecInfo, myEncoderParameters); } return true; } catch { return false; } } #endregion imageCut imageCompress#regionimageCompress /**//// <summary> /// 圖片壓縮函數 /// </summary> /// <param name="sourceFile">原始圖片文件</param> /// <param name="quality">質量壓縮比</param> /// <param name="ouputFile">輸出文件名,請用 .jpg 后綴 </param> /// <returns>成功返回true,失敗則返回false</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 = Encoder.Quality; EncoderParameters myEncoderParameters = new EncoderParameters(1); EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, imageQuality); myEncoderParameters.Param[0] = myEncoderParameter; sourceImage.Save(outputFile, myImageCodecInfo, myEncoderParameters); return true; } catch { return false; } } #endregion imageCompress getThumImage#region getThumImage /**//// <summary> /// 生成縮略圖 /// </summary> /// <param name="sourceFile">原始圖片文件</param> /// <param name="quality">質量壓縮比</param> /// <param name="mult
新聞熱點
疑難解答