源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C# 图片剪切与缩小的实例

  • 时间:2021-04-01 03:23 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C# 图片剪切与缩小的实例
[u]复制代码[/u] 代码如下:
  public void CutToF(Stream stream)             {                 Image initImage = Image.FromStream(stream, true);                 if (initImage.Width <= 480 && initImage.Height <= 480)                 {                     initImage.Save("D://test.jpg", ImageFormat.Jpeg);                 }                 else                 {                     int initWidth = initImage.Width;                     int initHeight = initImage.Height;                     if (initWidth != initHeight)                     {                         Image pickedImage = null;                         Graphics pickedG = null;                         if (initWidth > initHeight)                         {                             pickedImage = new Bitmap(initHeight, initHeight);                             pickedG = Graphics.FromImage(pickedImage);                             pickedG.InterpolationMode = InterpolationMode.HighQualityBicubic;                             pickedG.SmoothingMode = SmoothingMode.HighQuality;                             Rectangle fromR = new Rectangle(0, 0, initHeight, initHeight);//(initWidth - initHeight) / 2                             Rectangle toR = new Rectangle(0, 0, initHeight, initHeight);                             pickedG.DrawImage(initImage, fromR);                             pickedImage.Save("D://jpg//test2.jpg");                             initWidth = initHeight;                         }                         initImage = (Image)pickedImage.Clone();                         pickedG.Dispose();                         pickedImage.Dispose();                         initImage.Save("D://jpg//test1.jpg");                     }                     Image resultImage = new Bitmap(150, 150);                     Graphics resultG = Graphics.FromImage(resultImage);                     resultG.InterpolationMode = InterpolationMode.HighQualityBicubic;                     resultG.SmoothingMode = SmoothingMode.HighQuality;                     resultG.Clear(Color.White);                     resultG.DrawImage(initImage, new Rectangle(0, 0, 100, 100), new Rectangle(0, 0, initWidth, initHeight), GraphicsUnit.Pixel);                     ImageCodecInfo[] icis = ImageCodecInfo.GetImageEncoders();                     ImageCodecInfo ici = null;                     foreach (ImageCodecInfo item in icis)                     {                         if (item.MimeType == "image/jpeg" || item.MimeType == "image/bmp" || item.MimeType == "image/png" || item.MimeType =="image/gif")                         {                             ici = item;                         }                     }                     EncoderParameters ep = new System.Drawing.Imaging.EncoderParameters(1);                     ep.Param[0] = new System.Drawing.Imaging.EncoderParameter(System.Drawing.Imaging.Encoder.Quality, (long)100);                     resultImage.Save("D://jpg//test.jpg", ici, ep);                     ep.Dispose();                     resultG.Dispose();                     resultImage.Dispose();                     initImage.Dispose();                 }             }                           
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部