C#图片添加水印的实现代码

 更新时间:2022年05月06日 15:33:19   投稿:lijiao  
这篇文章主要为大家详细介绍了C#给图片添加水印的实现代码,不仅可以为图片加文字水印,还可以判断是否是图片文件,感兴趣的小伙伴们可以参考一下

本文实例介绍了C#图片添加水印的实现方法,可以为图片加文字水印,及判断是否是图片文件,分享给大家供大家参考,具体内容如下

效果图:

以下是HovercWarter类的代码:

using System.Drawing;
using System.Drawing.Imaging;
using System.IO;

namespace HoverTreeBatch.HovercFrame
{
public class HovercWarter
{
public static Image AddTextToImg(Image image, string text)
{
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);

Image h_hovercImg = Image.FromStream(ms);

g.Dispose();
bitmap.Dispose();


return h_hovercImg;
}


/// <summary>
/// 根据文件头判断上传的文件类型
/// </summary>
/// <param name="filePath">filePath是文件的完整路径 </param>
/// <returns>返回true或false</returns>
public static bool IsPicture(string filePath)
{
try
{
FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
BinaryReader reader = new BinaryReader(fs);
string fileClass;
byte buffer;
buffer = reader.ReadByte();
fileClass = buffer.ToString();
buffer = reader.ReadByte();
fileClass += buffer.ToString();
reader.Close();
fs.Close();
if (fileClass == "255216" || fileClass == "7173" || fileClass == "13780" || fileClass == "6677")
//何问起 hovertree.com
//255216是jpg;7173是gif;6677是BMP,13780是PNG;7790是exe,8297是rar 
{
return true;
}
else
{
return false;
}
}
catch
{
return false;
}
}
}
}

以上就是C#实现图片添加水印的关键性代码,希望对大家学习C#程序设计有所帮助。

相关文章

  • UnityShader3实现2D描边效果

    UnityShader3实现2D描边效果

    这篇文章主要为大家详细介绍了UnityShader3实现2D描边效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • C#实现窗体间传递数据实例

    C#实现窗体间传递数据实例

    这篇文章主要介绍了C#实现窗体间传递数据实例,需要的朋友可以参考下
    2014-07-07
  • 解析在C#中接口和类的异同

    解析在C#中接口和类的异同

    今天小编就为大家分享一篇关于解析在C#中接口和类的异同,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • unity学习教程之定制脚本模板示例代码

    unity学习教程之定制脚本模板示例代码

    这篇文章主要给大家介绍了关于unity学习教程之定制脚本模板的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • C#修改IIS站点framework版本号的方法

    C#修改IIS站点framework版本号的方法

    这篇文章主要介绍了C#修改IIS站点framework版本号的方法,涉及C#调用使用ASP.NET IIS注册工具Aspnet_regiis.exe进行IIS站点framework版本号修改的方法,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • C#特性 扩展方法

    C#特性 扩展方法

    在我们的编程生涯中我们要使用很多很多类库,这些类库有的是我们自己开发的,我们有她的代码,有的是第三方发布的,我们不仅没有他们的代码,连看的机会都没有
    2014-12-12
  • C#自定义基于控制台的Timer实例

    C#自定义基于控制台的Timer实例

    这篇文章主要介绍了C#自定义基于控制台的Timer实现方法,可以简单模拟timer控件的相关功能,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • C#实现绑定Combobox的方法

    C#实现绑定Combobox的方法

    这篇文章主要介绍了C#实现绑定Combobox的方法,涉及Combobox参数设置的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • C# Windows API应用之基于FlashWindowEx实现窗口闪烁的方法

    C# Windows API应用之基于FlashWindowEx实现窗口闪烁的方法

    这篇文章主要介绍了C# Windows API应用之基于FlashWindowEx实现窗口闪烁的方法,结合实例形式分析了Windows API函数FlashWindowEx的功能、定义及实现窗口闪烁的相关技巧,需要的朋友可以参考下
    2016-08-08
  • C#实现航班预订系统

    C#实现航班预订系统

    这篇文章主要为大家详细介绍了C#实现航班预订系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05

最新评论