Csharp/C#教程:C#图片切割、图片压缩、缩略图生成代码汇总分享

本文为大家整理了C#图片切割、图片压缩、缩略图生成的实现代码,大家可以收藏,方便以后使用,具体内容如下

///图片切割函数 ///</summary> ///<paramname="sourceFile">原始图片文件</param> ///<paramname="xNum">在X轴上的切割数量</param> ///<paramname="yNum">在Y轴上的切割数量</param> ///<paramname="quality">质量压缩比</param> ///<paramname="outputFile">输出文件名,不带后缀</param> ///<returns>成功返回true,失败则返回false</returns> publicstaticboolimageCut(StringsourceFile,intxNum,intyNum,longquality,StringoutputFile) { try { longimageQuality=quality; BitmapsourceImage=newBitmap(sourceFile); ImageCodecInfomyImageCodecInfo=GetEncoderInfo("image/jpeg"); EncodermyEncoder=Encoder.Quality; EncoderParametersmyEncoderParameters=newEncoderParameters(1); EncoderParametermyEncoderParameter=newEncoderParameter(myEncoder,imageQuality); myEncoderParameters.Param[0]=myEncoderParameter; floatxWidth=sourceImage.Width/xNum; floatyWidth=sourceImage.Height/yNum; StringoutputImage=""; for(intcountY=0;countY<yNum;countY++) for(intcountX=0;countX<xNum;countX++) { RectangleFcloneRect=newRectangleF(countX*xWidth,countY*yWidth,xWidth,yWidth); BitmapnewImage=sourceImage.Clone(cloneRect,PixelFormat.Format24bppRgb); outputImage=outputFile+countX+countY+".jpg"; newImage.Save(outputImage,myImageCodecInfo,myEncoderParameters); } returntrue; } catch { returnfalse; } } #endregionimageCut imageCompress #region imageCompress /**////<summary> ///图片压缩函数 ///</summary> ///<paramname="sourceFile">原始图片文件</param> ///<paramname="quality">质量压缩比</param> ///<paramname="ouputFile">输出文件名,请用.jpg后缀</param> ///<returns>成功返回true,失败则返回false</returns> publicstaticboolimageCompress(StringsourceFile,longquality,StringoutputFile) { try { longimageQuality=quality; BitmapsourceImage=newBitmap(sourceFile); ImageCodecInfomyImageCodecInfo=GetEncoderInfo("image/jpeg"); EncodermyEncoder=Encoder.Quality; EncoderParametersmyEncoderParameters=newEncoderParameters(1); EncoderParametermyEncoderParameter=newEncoderParameter(myEncoder,imageQuality); myEncoderParameters.Param[0]=myEncoderParameter; sourceImage.Save(outputFile,myImageCodecInfo,myEncoderParameters); returntrue; } catch { returnfalse; } } #endregionimageCompress getThumImage#regiongetThumImage /**////<summary> ///生成缩略图 ///</summary> ///<paramname="sourceFile">原始图片文件</param> ///<paramname="quality">质量压缩比</param> ///<paramname="multiple">收缩倍数</param> ///<paramname="outputFile">输出文件名</param> ///<returns>成功返回true,失败则返回false</returns> publicstaticboolgetThumImage(StringsourceFile,longquality,intmultiple,StringoutputFile) { try { longimageQuality=quality; BitmapsourceImage=newBitmap(sourceFile); ImageCodecInfomyImageCodecInfo=GetEncoderInfo("image/jpeg"); EncodermyEncoder=Encoder.Quality; EncoderParametersmyEncoderParameters=newEncoderParameters(1); EncoderParametermyEncoderParameter=newEncoderParameter(myEncoder,imageQuality); myEncoderParameters.Param[0]=myEncoderParameter; floatxWidth=sourceImage.Width; floatyWidth=sourceImage.Height; BitmapnewImage=newBitmap((int)(xWidth/multiple),(int)(yWidth/multiple)); Graphicsg=Graphics.FromImage(newImage); g.DrawImage(sourceImage,0,0,xWidth/multiple,yWidth/multiple); g.Dispose(); newImage.Save(outputFile,myImageCodecInfo,myEncoderParameters); returntrue; } catch { returnfalse; } } #endregiongetThumImage ImageCodecInfo#regionImageCodecInfo /**////<summary> ///获取图片编码信息 ///</summary> privatestaticImageCodecInfoGetEncoderInfo(StringmimeType) { intj; ImageCodecInfo[]encoders; encoders=ImageCodecInfo.GetImageEncoders(); for(j=0;j<encoders.Length;++j) { if(encoders[j].MimeType==mimeType) returnencoders[j]; } returnnull; } 您可能感兴趣的文章:C#实现图片切割的方法C#实现在服务器端裁剪图片的方法C#实现对图片文件的压缩、裁剪操作实例c#图片处理之图片裁剪成不规则图形c#裁剪图片后使用zxing生成二维码示例分享c#利用Grahics进行图片裁剪C#实现图片切割、切图、裁剪

标签: 缩略图 图片压缩 图片

C++判断主机是否处于联网状态

对C++ string append方法的常用用法详解

上述就是C#学习教程:C#图片切割、图片压缩、缩略图生成代码汇总分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/907116.html

(0)
上一篇 2021年10月24日
下一篇 2021年10月24日

精彩推荐