- using System;
- using System.Data;
- using System.Configuration;
- using System.Collections;
- using System.Web;
- using System.Web.Security;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Web.UI.WebControls.WebParts;
- using System.Web.UI.HtmlControls;
- using System.Drawing;
- using System.Drawing.Drawing2D;
- using System.Drawing.Imaging;
- public partial class Web_MakeWaterMark : System.Web.UI.Page
- {
- /// <param name="newFaxWidtht">缩放至宽度</param>
- /// <param name="newFaxHeight">缩放至高度</param>
- int newFaxWidtht = 100;
- int newFaxHeight = 120;
- protected void Page_Load(object sender, EventArgs e)
- {
- string strOldPic = "images/welcome.jpg";
- string strNewPic = "images/welcome-1.jpg";
- this.SmallPic(strOldPic, strNewPic, newFaxWidtht, newFaxHeight);
- this.MakeWaterMark(strNewPic);
- }
- /**//**//**//// <summary>
- /// 生成带版权水印的图片
- /// </summary>
- /// <param name="IconImg">要生成水印图片的文件地址</param>
- private void MakeWaterMark(string IconImg)
- {
- //定义输出位图
- Bitmap bmp = new Bitmap(newFaxWidtht, newFaxHeight);
- //定义绘图对象
- Graphics g = Graphics.FromImage(bmp);
- //描述绘图矩形区域
- Rectangle newRect = new Rectangle(0, 0, newFaxWidtht, newFaxHeight);
- //设置背景色
- g.FillRectangle(new SolidBrush(Color.White), newRect);
- //获取要生成水印的图片
- Bitmap newBitmap = new Bitmap(IconImg);
- g.DrawImage(newBitmap, 0, 0);
- //定义水印字的字体
- Font font = new Font( "Arial", 10, FontStyle.Bold);
- //定义水印字的格式刷
- LinearGradientBrush brush = new LinearGradientBrush(
- new Rectangle(0, 0, 10, 20),
- Color.Red,
- Color.Blue,
- 10f,
- true
- );
- //给照片打上水印
- g.DrawString("szrjjz.com", font, brush, 0, newFaxHeight-20);
- //保存为新的输出图片
- System.IO.MemoryStream ms = new System.IO.MemoryStream();
- bmp.Save(ms, ImageFormat.Jpeg);
- //输出图片
- Response.ClearContent();
- Response.ContentType = "image/jpeg";
- Response.BinaryWrite(ms.ToArray());
- }
- /// <summary>
- /// 缩放图片
- /// </summary>
- /// <param name="strOldPic">源图文件名(包括路径)</param>
- /// <param name="strNewPic">缩放后保存为文件名(包括路径)</param>
- /// <param name="intWidth">缩放至宽度</param>
- /// <param name="intHeight">缩放至高度</param>
- public void SmallPic(string strOldPic, string strNewPic, int intWidth, int intHeight)
- {
- System.Drawing.Bitmap objPic, objNewPic;
- try
- {
- objPic = new System.Drawing.Bitmap(strOldPic);
- objNewPic = new System.Drawing.Bitmap(objPic, intWidth, intHeight);
- objNewPic.Save(strNewPic);
- }
- catch (Exception exp) { throw exp; }
- finally
- {
- objPic = null;
- objNewPic = null;
- }
- }
- }
C#实现图片缩放,并给图片加上带版权的水印
最新推荐文章于 2023-01-13 13:34:56 发布