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

源码网商城

ASP.NET 2.0,C#----图像特效处理

  • 时间:2021-07-26 08:06 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:ASP.NET 2.0,C#----图像特效处理
利用.NET 提供的类,如Drawing.Bitmap ,Drawing.Bitmap 等,很容易就可以实现对图片的简单处理。包括打水印,放大缩小,等操作。 public partial class WebForm4 : System.Web.UI.Page       {           // 原始图片路径           private string path;           private System.Drawing.Bitmap bitmap;                private System.Drawing.Graphics graphics;           string Message = "<script>alert(\"{0}\");</script>";           protected void Page_Load(object sender, EventArgs e)           {               if (!Page.IsPostBack)               {                   this.txtPicPath.Text = Server.MapPath("/test.jpg");               }               path = this.txtPicPath.Text.Trim();               if (!System.IO.File.Exists(path))               {                   MessageShow("指定的源文件不存在!");                   return;               }           }           // 打水印Logo           protected void btnLogo_Click(object sender, EventArgs e)           {               string log = txtLog.Text.Trim();               if (log.Length < 1)               {                   MessageShow("请输入水印字符!");                   return;               }               bitmap = new Bitmap(path);               graphics = Graphics.FromImage(bitmap);               graphics.DrawString(log, new Font("宋体", 16), System.Drawing.Brushes.GreenYellow, new PointF(bitmap.Width / 2 - (log.Length) * 5, bitmap.Height / 2));               try               {                   bitmap.Save(Server.MapPath("./_Log.jpg"), System.Drawing.Imaging.ImageFormat.Jpeg);                   MessageShow("已经生成水印图片,路径为" + @Server.MapPath("./_log.jpg").Replace("\\", "\\\\"));               }               catch (Exception ex)               {                   MessageShow("生成图片错误!" + ex.Message);                   throw;               }               graphics.Dispose();               bitmap.Dispose();           }           private void MessageShow(string msg)           {               Page.ClientScript.RegisterStartupScript(Page.GetType(), "Message", string.Format(Message, msg));           }           //放大X*X倍           protected void btnBig_Click(object sender, EventArgs e)           {               int i = int.Parse(txtBig.Text.Trim());               System.Drawing.Image img = System.Drawing.Image.FromFile(path);               bitmap = new Bitmap(img.Width * i, img.Height * i);               graphics = Graphics.FromImage(bitmap);               graphics.DrawImage(img, 0, 0, img.Width * i, img.Height * i);               try               {                   bitmap.Save(Server.MapPath("./_Big.jpg"), System.Drawing.Imaging.ImageFormat.Jpeg);                   MessageShow("已经生成图片,路径为" + @Server.MapPath("./_Big.jpg").Replace("\\", "\\\\"));               }               catch (Exception ex)               {                   MessageShow("生成图片错误!" + ex.Message);                   throw;               }               graphics.Dispose();               bitmap.Dispose();           }           //缩小为原始图像的1/(X*X)           protected void btnSmall_Click(object sender, EventArgs e)           {               float i = float.Parse(txtBig.Text.Trim());               System.Drawing.Image img = System.Drawing.Image.FromFile(path);               int w = Convert.ToInt32(img.Width / i);               int h = Convert.ToInt32(img.Height / i);               // 防止过度变形               if (w < 1) w = 10;               if (h < 1) h = 0;               bitmap = new Bitmap(w, h);               graphics = Graphics.FromImage(bitmap);               graphics.DrawImage(img, 0, 0, w, h);               try               {                   bitmap.Save(Server.MapPath("./_Small.jpg"), System.Drawing.Imaging.ImageFormat.Jpeg);                   MessageShow("已经生成图片,路径为" + @Server.MapPath("./_Small.jpg").Replace("\\", "\\\\"));               }               catch (Exception ex)               {                   MessageShow("生成图片错误!" + ex.Message);                   throw;               }               graphics.Dispose();               bitmap.Dispose();           } //倾斜( 右转90度)           protected void btnIncline_Click(object sender, EventArgs e)           {               System.Drawing.Image img = System.Drawing.Image.FromFile(path);               // 图像旋转,可以利用RotateFlipType的枚举值,在编程的时候,IDE会自动显示每一个枚举的意思               img.RotateFlip(RotateFlipType.Rotate90FlipXY);               bitmap = new Bitmap(img);               graphics = Graphics.FromImage(bitmap);               graphics.DrawImage(img, new Point(0, 0));               try               {                   bitmap.Save(Server.MapPath("./_Incline.jpg"), System.Drawing.Imaging.ImageFormat.Jpeg);                   MessageShow("已经生成图片,路径为" + @Server.MapPath("./_Incline.jpg").Replace("\\", "\\\\"));               }               catch (Exception ex)               {                   MessageShow("生成图片错误!" + ex.Message);                   throw;               }               graphics.Dispose();               bitmap.Dispose();           }           // 图像压扁           protected void btnStave_Click(object sender, EventArgs e)           {               System.Drawing.Image img = System.Drawing.Image.FromFile(path);               // 宽度不变               int w = img.Width;               //    高度为原始高度的1/2               int h = img.Height / 2;               // 防止过度变形               if (w < 1) w = 10;               if (h < 1) h = 0;               bitmap = new Bitmap(w, h);               graphics = Graphics.FromImage(bitmap);               graphics.DrawImage(img, 0, 0, w, h);               try               {                   bitmap.Save(Server.MapPath("./_Stave.jpg"), System.Drawing.Imaging.ImageFormat.Jpeg);                   MessageShow("已经生成图片,路径为" + @Server.MapPath("./_Stave.jpg").Replace("\\", "\\\\"));               }               catch (Exception ex)               {                   MessageShow("生成图片错误!" + ex.Message);                   throw;               }               graphics.Dispose();               bitmap.Dispose();           }           //图像拉宽           protected void btnElongate_Click(object sender, EventArgs e)           {               System.Drawing.Image img = System.Drawing.Image.FromFile(path);               // 放大宽度               int w = img.Width / 2;               // 高度不变               int h = img.Height;               // 防止过度变形               if (w < 1) w = 10;               if (h < 1) h = 0;               bitmap = new Bitmap(w, h);               graphics = Graphics.FromImage(bitmap);               graphics.DrawImage(img, 0, 0, w, h);               try               {                   bitmap.Save(Server.MapPath("./_Elongate.jpg"), System.Drawing.Imaging.ImageFormat.Jpeg);                   MessageShow("已经生成图片,路径为" + @Server.MapPath("./_Elongate.jpg").Replace("\\", "\\\\"));               }               catch (Exception ex)               {                   MessageShow("生成图片错误!" + ex.Message);                   throw;               }               graphics.Dispose();               bitmap.Dispose();           }       }
[img]http://files.jb51.net/upload/2007416214852657.jpg[/img]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部