在图片上加水印有点问题
//add_certify.aspx页面的内容如下:
<%@ Page Language= "C# " ResponseEncoding= "gb2312 " src= "add_certify.aspx.cs " Inherits= "namespace.classname "%>
<script runat= "server ">
protected void Page_load(Object Src, EventArgs E)
{
................
}
void UploadBtn_Click(Object sender,EventArgs e)
{
AddTextToImg( "../img/1.gif ", "Family.Man ");
}
</script>
//add_certify.aspx.cs页面的内容如下:
using System.Drawing;
using System.IO;
using System.Drawing.Imaging;
private void AddTextToImg(string fileName,string text)
{
if(!File.Exists(MapPath(fileName)))
{
throw new FileNotFoundException( "The file don 't exist! ");
}
if( text == string.Empty )
{
return;
}
//还需要判断文件类型是否为图像类型,这里就不赘述了
System.Drawing.Image image = System.Drawing.Image.FromFile(MapPath(fileName));
Bitmap bitmap = new Bitmap(image,image.Width,image.Height);
Graphics g = Graphics.FromImage(bitmap);
float fontSize = 12.0f; //字体大小
float textWidth = text.Length*fontSize; //文本的长度
//下面定义一个矩形区域,以后在这个矩形里画上白底黑字
float rectX = 0;
float rectY = 0;
float rectWidth = text.Length*(fontSize+8);
float rectHeight = fontSize+8;
//声明矩形域
RectangleF textArea = new RectangleF(rectX,rectY,rectWidth,rectHeight);
Font font = new Font( "宋体 ",fontSize); //定义字体
Brush whiteBrush = new SolidBrush(Color.White); //白笔刷,画文字用
Brush blackBrush = new SolidBrush(Color.Black); //黑笔刷,画背景用
g.FillRectangle(blackBrush,rectX,rectY,rectWidth,rectHeight);
g.DrawString(text,font,whiteBrush,textArea);
MemoryStream ms = new MemoryStream( );
//保存为Jpg类型
bitmap.Save(ms,ImageFormat.Jpeg);
//输出处理后的图像,这里为了演示方便,我将图片显示在页面中了
Response.Clear();
Response.ContentType = "image/jpeg ";
Response.BinaryWrite( ms.ToArray() );
g.Dispose();
bitmap.Dispose();
image.Dispose();
}
我对c#不是很熟悉(上面这些是用在web上的),我调试的时候的错误信息是:
编译器错误信息: CS0116: 命名空间并不直接包含诸如字段或方法之类的成员
------解决方案--------------------
------解决方案--------------------友情帮定一下
------解决方案--------------------using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;
namespace Tutorial
{
class WaterMark
{
[STAThread]
static void Main(string[] args)
{
//set a working directory
string WorkingDirectory = @ "C:\Documents and Settings\administrator.JAZZMINE\My Documents\Projects\Tutorials\WaterMark ";