**//// <summary> ///Picture cutting function/// </summary> /// <param name= "SourceFile" >Original picture file</param> /// <param name= "Xnum" >number of cuts on the x-axis</param> /// <param name= "Ynum" >number of cuts on the y-axis</param> /// <param name= "Quality" >Mass Compression ratio</param> /// <param name= "OutputFile" >output file name with no suffix</param> /// <returns>Success Returns True, Failure returns false</returns> Public Static BOOLImagecut (String sourcefile,intXnum,intYnum,Longquality, String outputFile) { Try { LongImageQuality =quality; Bitmap Sourceimage=NewBitmap (sourcefile); ImageCodecInfo Myimagecodecinfo= Getencoderinfo ("Image/jpeg"); Encoder Myencoder=encoder.quality; EncoderParameters myencoderparameters=NewEncoderParameters (1); Encoderparameter Myencoderparameter=NewEncoderparameter (Myencoder, imagequality); myencoderparameters.param[0] =Myencoderparameter; floatXwidth = sourceimage.width/Xnum; floatYwidth = sourceimage.height/Ynum; String Outputimage=""; for(intCounty =0; County < Ynum; county++) for(intCountx =0; Countx < Xnum; countx++) {RectangleF clonerect=NewRectangleF (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; } } #endregionImagecutimagecompress#regionimagecompress/**//// <summary> ///image compression Function/// </summary> /// <param name= "SourceFile" >Original picture file</param> /// <param name= "Quality" >Mass Compression ratio</param> /// <param name= "Ouputfile" >output file name, using a. jpg suffix</param> /// <returns>Success Returns True, Failure returns false</returns> Public Static BOOLImagecompress (String sourcefile,Longquality,string OutputFile) { Try { LongImageQuality =quality; Bitmap Sourceimage=NewBitmap (sourcefile); ImageCodecInfo Myimagecodecinfo= Getencoderinfo ("Image/jpeg"); Encoder Myencoder=encoder.quality; EncoderParameters myencoderparameters=NewEncoderParameters (1); Encoderparameter Myencoderparameter=NewEncoderparameter (Myencoder, imagequality); myencoderparameters.param[0] =Myencoderparameter; Sourceimage.save (OutputFile, Myimagecodecinfo, myencoderparameters); return true; } Catch { return false; } } #endregionImagecompressGetthumimage#regionGetthumimage/**//// <summary> ///generate thumbnail images/// </summary> /// <param name= "SourceFile" >Original picture file</param> /// <param name= "Quality" >Mass Compression ratio</param> /// <param name= "multiple" >Shrink Multiples</param> /// <param name= "OutputFile" >Output File name</param> /// <returns>Success Returns True, Failure returns false</returns> Public Static BOOLGetthumimage (String sourcefile,LongQuality,intmultiple, String outputFile) { Try { LongImageQuality =quality; Bitmap Sourceimage=NewBitmap (sourcefile); ImageCodecInfo Myimagecodecinfo= Getencoderinfo ("Image/jpeg"); Encoder Myencoder=encoder.quality; EncoderParameters myencoderparameters=NewEncoderParameters (1); Encoderparameter Myencoderparameter=NewEncoderparameter (Myencoder, imagequality); myencoderparameters.param[0] =Myencoderparameter; floatXwidth =Sourceimage.width; floatYwidth =Sourceimage.height; Bitmap NewImage=NewBitmap ((int) (Xwidth/multiple), (int) (Ywidth/multiple)); Graphics g=graphics.fromimage (newimage); G.drawimage (Sourceimage,0,0, Xwidth/multiple, Ywidth/multiple); G.dispose (); Newimage.save (outputfile,myimagecodecinfo,myencoderparameters); return true; } Catch { return false; } } #endregionGetthumimageImageCodecInfo#regionImageCodecInfo/**//// <summary> ///Get picture encoding information/// </summary> Private Staticimagecodecinfo getencoderinfo (String mimeType) {intJ; Imagecodecinfo[] encoders; Encoders=imagecodecinfo.getimageencoders (); for(j =0; J < Encoders. Length; ++j) {if(Encoders[j]. MimeType = =MimeType)returnEncoders[j]; } return NULL; }
C # Picture cutting, image compression, thumbnail generated code