- 关 键 词:
//方法作用:生成水印图片
//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格式上加图片。。本U R L:http://www.qqread.com/dotnet/c239523.html进入讨论组讨论。
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- WPF的Attached属性 (0次浏览)
- WPF,将颠覆的设计世界? (0次浏览)
- Windows是否已经变成了一个怪物? (0次浏览)
- Windows2008用RODC保证分支机构安全 (0次浏览)
- Windows2008的NLB配置攻略 (0次浏览)
- Windows SharePoint Services 和 SharePoint P (0次浏览)
- Windows Forms中实现统一的数据验证(一) (0次浏览)
- Windows API一日一练:DrawText函数 (0次浏览)
- Win2008初次体验的几个心得 (0次浏览)
- WEB应用数据库访问的优化 (0次浏览)



