System.Drawing.Image img = new Bitmap("f:\\girl.jpg"); System.Drawing.Graphics gp = Graphics.FromImage(img);
Font myFont = new Font("黑体",16,FontStyle.Bold); SolidBrush mySolidBrush = new SolidBrush(Color.Red); PointF myPointF = new PointF(50,160); gp.SmoothingMode = SmoothingMode.AntiAlias; gp.DrawString("www.handfun.com.cn",myFont,mySolidBrush,myPointF);
img.Save(Response.OutputStream,ImageFormat.JPEG);
using System; using System.Drawing; using System.Drawing.Text; using System.Drawing.Imaging; namespace AccessDataOperate { public class WaterImage: ImagesClass { #region 定义类变量
{
if(UploadFile.PostedFile.FileName.Trim()!="")
{
//上传文件
string extension = Path.GetExtension(UploadFile.PostedFile.FileName).ToUpper();
string fileName = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString();
string path = Server.MapPath(".") + "/UploadFile/" + fileName + extension;
UploadFile.PostedFile.SaveAs(path); //加文字水印,注意,这里的代码和以下加图片水印的代码不能共存
System.Drawing.Image image = System.Drawing.Image.FromFile(path);
Graphics g = Graphics.FromImage(image);
g.DrawImage(image, 0, 0, image.Width, image.Height);
Font f = new Font("Verdana", 32);
Brush b = new SolidBrush(Color.White);
string addText = AddText.Value.Trim();
g.DrawString(addText, f, b, 10, 10);
g.Dispose(); //加图片水印
System.Drawing.Image image = System.Drawing.Image.FromFile(path);
System.Drawing.Image copyImage = System.Drawing.Image.FromFile( Server.MapPath(".") + "/Alex.gif");
Graphics g = Graphics.FromImage(image);
g.DrawImage(copyImage, new Rectangle(image.Width-copyImage.Width, image.Height-copyImage.Height, copyImage.Width, copyImage.Height), 0, 0, copyImage.Width, copyImage.Height, GraphicsUnit.Pixel);
g.Dispose(); //保存加水印过后的图片,删除原始图片
string newPath = Server.MapPath(".") + "/UploadFile/" + fileName + "_new" + extension;
image.Save(newPath);
image.Dispose();
if(File.Exists(path))
{
File.Delete(path);
} Response.Redirect(newPath);
}
}
System.Drawing.Graphics gp = Graphics.FromImage(img);
Font myFont = new Font("黑体",16,FontStyle.Bold);
SolidBrush mySolidBrush = new SolidBrush(Color.Red);
PointF myPointF = new PointF(50,160);
gp.SmoothingMode = SmoothingMode.AntiAlias;
gp.DrawString("www.handfun.com.cn",myFont,mySolidBrush,myPointF);
img.Save(Response.OutputStream,ImageFormat.JPEG);
using System.Drawing;
using System.Drawing.Text;
using System.Drawing.Imaging;
namespace AccessDataOperate
{
public class WaterImage: ImagesClass
{
#region 定义类变量
private string _waterName = "asp.net精采世界"; //水印文字
private Image _waterImage = null; //图片
private string _fileName = null; //水印图片要保存的文件名
private Align _align = AccessDataOperate.Align.right; //水印图片的水平对齐方式
private Valign _valign = AccessDataOperate.Valign.bottom; //水印图片的垂直对齐方式
private int _fontSize =14; //水印字体大小
private string _fontColor = "#EBEBEB"; //前景水印字体颜色
private string _bgfontColor = "#000000"; //水印字体阴影颜色
private string _fontFamily = "新宋体"; //水印字体名称
private int _imgWidth = 120; //最终图片的宽度
private int _imgHeight = 120; //最终图片的高度
private bool _scanleImg = false; //是否压缩图片
public string ErrorInfo = null; //错误信息
#endregion
#region 定义属性
/**//// <summary>
/// 字体水平对齐
/// </summary>
public Align Align
{
set
{
_align = value;
}
}
/**//// <summary>
/// 字体垂直对齐
/// </summary>
public Valign Valign
{
set
{
_valign = value;
}
}
/**//// <summary>
/// 水印字体大小
/// </summary>
public int FontSize
{
set
{
_fontSize = value;
}
}
/**//// <summary>
/// 前景水印字体颜色
/// </summary>
public string FontColor
{
set
{
_fontColor = value;
}
}
/**//// <summary>
/// 水印字体名称
/// </summary>
public string FontFamily
{
set
{
_fontFamily = value;
}
}
/**//// <summary>
/// 水印字体阴影颜色
/// </summary>
public string BgFontColor
{
set
{
_bgfontColor = value;
}
}
/**//// <summary>
/// 图片宽度
/// </summary>
public int ImgWidth
{
get
{
return _imgWidth;
}
set
{
_imgWidth = value;
}
}
/**//// <summary>
/// 图片高度
/// </summary>
public int ImgHeight
{
get
{
return _imgHeight;
}
set
{
_imgHeight = value;
}
}
/**//// <summary>
/// 是否压缩图片
/// </summary>
public bool ScanleImg
{
set
{
_scanleImg = value;
}
}
#endregion
#region 初始化构造函数
public WaterImage()
{
}
#endregion
#region 给JPG图片加水印 void WaterPicture(string,string, int)
/**//// <summary>
/// 生成水印图片主流程
/// </summary>
private void WaterMain()
{
if(_scanleImg)
{
ScanleImage objScanle = new ScanleImage();
_waterImage = objScanle.ScanleImg(_waterImage,_imgWidth,_imgHeight);
}
else
{
_imgWidth = _waterImage.Width;
_imgHeight = _waterImage.Height;
}
MakeWater();
if(_fileName==null)
{
SaveImage(_waterImage,ImageFormat.Jpeg);
}
else
{
SaveImage(_waterImage,ImageFormat.Jpeg,_fileName);
}
}
System.Drawing.Image image = System.Drawing.Image.FromFile(path);
//加图片水印
System.Drawing.Image image = System.Drawing.Image.FromFile(path);这里 怎么能共存呢....
同一个对象在 一个方法里面只能 申明一次
后者改成
image = System.Drawing.Image.FromFile(path);
缩略图水印组件wsImage3.5
http://www.wave12.com/web/home.asp
2,在安装好字体后,IIS必须重启一次才OK