您的位置:首页 > 编程语言 > C#

简单文字图片水印效果 - C#WinForm

2009-04-15 10:17 447 查看
 



 





 





对应代码下载:http://download.csdn.net/source/1210790

 
//原始图片
public void originalImage()
{
String sourcePath = @"../../Resources/test.jpg";
System.Drawing.Image image = System.Drawing.Image.FromFile(sourcePath);
resultImage.Image = image;

}
//加文字水印
public void makeWordWatermark()
{
String sourcePath = @"../../Resources/test.jpg";
System.Drawing.Image image = System.Drawing.Image.FromFile(sourcePath);
System.Drawing.Graphics graphics = System.Drawing.Graphics.FromImage(image);
graphics.DrawImage(image, 0, 0, image.Width, image.Height);
System.Drawing.Font font = new System.Drawing.Font("Verdana", 30);
System.Drawing.Brush brush = new System.Drawing.SolidBrush(System.Drawing.Color.White);
string addText = "图片添加文字水印效果";
graphics.DrawString(addText, font, brush, 10, 10);
graphics.Dispose();
resultImage.Image = image;
}

//图片整体设置透明度
public void makeImageWatermark()
{
String sourcePath = @"../../Resources/test.jpg";
String copyPath = @"../../Resources/image.jpg";
System.Drawing.Image image = System.Drawing.Image.FromFile(sourcePath);
System.Drawing.Image copyImage = System.Drawing.Image.FromFile(copyPath);
Graphics g = Graphics.FromImage(image);

//透明度设置
float alpha = 0.15f;
//ImageAttributes 对象包含有关在呈现时如何操作位图和图元文件颜色的信息。
ImageAttributes imageAttributes = new ImageAttributes();

//Colormap: 定义转换颜色的映射
ColorMap colorMap = new ColorMap();

//此处水印图被定义成拥有绿色背景色的图片被替换成透明
colorMap.OldColor = Color.FromArgb(255, 0, 255, 0);
colorMap.NewColor = Color.FromArgb(0, 0, 0, 0);
ColorMap[] remapTable = { colorMap };

imageAttributes.SetRemapTable(remapTable, ColorAdjustType.Bitmap);

float[][] colorMatrixElements = {
new float[] {1.0f,  0.0f,  0.0f,  0.0f, 0.0f}, // red红色
new float[] {0.0f,  1.0f,  0.0f,  0.0f, 0.0f}, //green绿色
new float[] {0.0f,  0.0f,  1.0f,  0.0f, 0.0f}, //blue蓝色
new float[] {0.0f,  0.0f,  0.0f,  alpha, 0.0f}, //透明度
new float[] {0.0f,  0.0f,  0.0f,  0.0f, 1.0f}};

//  ColorMatrix:定义包含 RGBA 空间坐标的 5 x 5 矩阵。
//  ImageAttributes 类的若干方法通过使用颜色矩阵调整图像颜色。
ColorMatrix wmColorMatrix = new ColorMatrix(colorMatrixElements);

imageAttributes.SetColorMatrix(wmColorMatrix, ColorMatrixFlag.Default,
ColorAdjustType.Bitmap);

g.DrawImage(copyImage, new Rectangle(image.Width - copyImage.Width, image.Height - copyImage.Height, copyImage.Width, copyImage.Height), 0, 0, copyImage.Width, copyImage.Height, GraphicsUnit.Pixel, imageAttributes);
g.Dispose();
resultImage.Image = image;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: