| 网站首页 | 文章中心 | 电子书下载 | 矢量图库 | 视频教程 | 素材下载 | 程序代码下载 | JS代码 | 论坛 | 
常用软件类:
|杀毒安全 |联络聊天 |网络软件 |多媒体类 |系统工具 |图形图像 |系统工具 |应用软件 |行业软件
开发设计类:
|动画制作 |图像处理 |3D设计 |操作系统 |站长学院 |网络相关 |WEB设计 |数据库类 |程序开发
flash制作水印的一个方法

作者:未知    文章来源:网络    点击数:    更新时间:2007-7-19
 

//方法作用:生成水印图片
  //sourcefile:要生成水印的图片文件
  //WaterMarkfile:存放水印的图片文件
  //savefile:存放水印的图片文件
  public static bool MakeWaterImage(string sourceFile,string waterMarkFile,string saveFile)
  {
   bool result;
   try
   {
    //原图
    Bitmap sImage = new Bitmap(sourceFile);
    int sWidth  = sImage.Width;
    int sHeight  = sImage.Height;
   
    //水印图
    Bitmap wImage = new Bitmap(waterMarkFile);
    int wWidth  = wImage.Width;
    int wHeight  = wImage.Height;
    //make Graphics.
    Graphics g = Graphics.FromImage(sImage);
    int x; //临时变量
    int y; //监时变量
    int x1; //原图和水印图的宽度差
    int y1; //原图和水印图的高度差
    int w; //生成的水印图的宽度
    int h; //生成的水印图的高度
    int al; //alpha
    int rl; //Red
    int gl; //Green
    int bl; //Blue

    if(sWidth > wWidth)
    {
     x1 = sWidth - wWidth;
     y1 = sHeight - wHeight;
     w = wWidth;
     h = wHeight;
    }
    else
    {
     x1 = 0;
     y1 = 0;
     w = sWidth;
     h = sHeight;
    }
    //开始绘图
    for(x = 1; x < w; x++)
    {
     for(y = 1; y < h; y++)
     {
      al = wImage.GetPixel(x,y).A;
      rl = wImage.GetPixel(x,y).R;
      gl = wImage.GetPixel(x,y).G;
      bl = wImage.GetPixel(x,y).B;
      al = 70;
     
      if(rl + 25 < 255)
       rl += 25;
      if(gl + 25 < 255)
       gl += 25;
      if(bl + 25 < 255)
       bl += 25;
      g.DrawEllipse(new Pen(new SolidBrush(Color.FromArgb(al,rl,gl,bl))),x1+x,y1+y,1,1);    
     }
    }  
    g.Save();
    sImage.Save(saveFile);
    result = true;
   }
   catch
   {
    result = false;
   }
   return result;
  }

但这个不能在GIF格式上加图片。。


  • 上一篇文章:

  • 下一篇文章: 没有了
  • 相关文章