您的位置:首页 > 编程语言 > C#

C#实现图片缩放,并给图片加上带版权的水印

2008-10-08 16:30 369 查看
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;

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: