手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >C# 添加图片水印类实现代码
C# 添加图片水印类实现代码
摘要:复制代码代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Text;...

复制代码 代码如下:

using System;

using System.Collections.Generic;

using System.Text;

using System.Drawing;

using System.IO;

using System.Drawing.Imaging;

using System.Web;

using System.Drawing.Drawing2D;

using System.Reflection;

namespace Chen

{

public class warterPic

{

/// <summary>

/// 给图片上水印

/// </summary>

/// <param name="filepath">原图片地址</param>

/// <param name="waterfile">水印图片地址</param>

///

public void markwater(string filepath, string waterfile)

{

//gif不水印

int i = filepath.LastIndexOf(".");

string ex = filepath.Substring(i, filepath.Length - i);

if (string.Compare(ex, ".gif", true) == 0)

{

return;

}

string modifyimagepath = filepath;//修改的图像路径

int lucencypercent = 25;

Image modifyimage = null;

Image drawedimage = null;

Graphics g = null;

try

{

//建立图形对象

modifyimage = Image.FromFile(modifyimagepath, true);

drawedimage = Image.FromFile(waterfile, true);

g = Graphics.FromImage(modifyimage);

//获取要绘制图形坐标

int x = modifyimage.Width - drawedimage.Width;

int y = modifyimage.Height - drawedimage.Height; //设置颜色矩阵

float[][] matrixitems ={ new float[] { 1, 0, 0, 0, 0 }, new float[] { 0, 1, 0, 0, 0 }, new float[] { 0, 0, 1, 0, 0 }, new float[] { 0, 0, 0, (float)lucencypercent / 100f, 0 }, new float[] { 0, 0, 0, 0, 1 } };

ColorMatrix colormatrix = new ColorMatrix(matrixitems);

ImageAttributes imgattr = new ImageAttributes();

imgattr.SetColorMatrix(colormatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap); //绘制阴影图像

g.DrawImage(drawedimage, new Rectangle(x, y, drawedimage.Width, drawedimage.Height), 10, 10, drawedimage.Width, drawedimage.Height, GraphicsUnit.Pixel, imgattr); //保存文件

string[] allowimagetype ={ ".jpg", ".gif", ".png", ".bmp", ".tiff", ".wmf", ".ico" };

FileInfo fi = new FileInfo(modifyimagepath);

ImageFormat imagetype = ImageFormat.Gif;

switch (fi.Extension.ToLower())

{

case ".jpg":

imagetype = ImageFormat.Jpeg;

break;

case ".gif":

imagetype = ImageFormat.Gif;

break;

case ".png":

imagetype = ImageFormat.Png;

break;

case ".bmp":

imagetype = ImageFormat.Bmp;

break;

case ".tif":

imagetype = ImageFormat.Tiff;

break;

case ".wmf":

imagetype = ImageFormat.Wmf;

break;

case ".ico":

imagetype = ImageFormat.Icon;

break;

default: break;

}

MemoryStream ms = new MemoryStream();

modifyimage.Save(ms, imagetype);

byte[] imgdata = ms.ToArray();

modifyimage.Dispose();

drawedimage.Dispose();

g.Dispose();

FileStream fs = null;

//File.Delete(modifyimagepath);

fs = new FileStream(modifyimagepath, FileMode.Create, FileAccess.Write);

if (fs != null)

{

fs.Write(imgdata, 0, imgdata.Length);

fs.Close();

}

}

finally

{

try

{

drawedimage.Dispose();

modifyimage.Dispose();

g.Dispose();

}

catch

{ }

}

}

}

}

【C# 添加图片水印类实现代码】相关文章:

C# 无限级分类的实现

ASP.net 验证码实现代码(C#)

.NET 扩展实现代码

asp.net 操作excel的实现代码

ASP.NET 水晶报表打印功能实现代码

ASP.NET缓存处理类实例

ASP.Net 图片存入数据库的实现代码

.net发送邮件实现代码

asp用户登录模块实例代码

asp.net Execl的添加,更新操作实现代码

精品推荐
分类导航