日期:2014-05-19  浏览次数:21020 次

在图片上加水印有点问题
//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 ";