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;
}
}
}
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#实现缩放和剪裁图片的方法示例
- 如何在C#中实现图片缩放
- C#图片处理示例(裁剪,缩放,清晰度,水印)
- C#实现给图片加水印的方法
- 利用ASPUPLOAD,ASPJPEG实现图片上传自动生成缩略图及加上水印
- Asp.net(C#)给图片加上水印效果〔zz〕
- EasyFRMS.Image C# 实现图片剪切、缩放、旋转、水印操作
- Asp.net(C#)给图片加上水印效果
- php实现给一张图片加上水印效果
- 如何在C#中实现图片缩放
- .net c# gif动画如何添加图片水印实现思路及代码
- 如何在C#中实现图片缩放
- PHP图片处理类实现缩放、剪切、相框、水印、锐化、旋转、翻转、透明度、反色等功能
- 利用Thumbnailator轻松实现图片缩放、旋转与加水印
- 利用ASPUPLOAD,ASPJPEG实现图片上传自动生成缩略图及加上水印
- 给图片加上带版权的水印
- C#图片处理基本应用(裁剪,缩放,清晰度,水印)
- ASP.NET(C#)上传图片加上文字或图片水印
- C#图片处理示例(裁剪,缩放,清晰度,水印)
- 如何在C#中实现图片缩放