利用.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("", "\"));
(编辑:焦作站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|