C#代码给图片添加水印

平时我们都会给图片添加水印,来记录下美好的瞬间,一般我们都会在手机APP上给它添加,今天我来给大家分享下用C#后台代码来给图片添加水印

首先我们先要准备一张图,下面就是我要用来添加水印的图片,图片大小是1920*1200像素

在这里插入图片描述

然后我们创建一个window窗口,里面添加一个触发添加水印的按钮

下面展示一些 内联代码片

// 添加button按钮
    <Grid>
        <Button Width="100" Height="40" Content="添加水印" Background="SkyBlue" BorderThickness="0" Click="Button_Click"></Button>  
    </Grid>
接下来我们给这个按钮写个添加水印的函数

下面展示一些 内联代码片

// 函数方法
  private void Button_Click(object sender, RoutedEventArgs e)
        {
            var path = @"C:\Users\你爸爸\Desktop\图片123\图片素材\284768.jpg";               //要添加水印的图片所在路径
            var img = Image.FromFile(path);                                                  //创建一个image对象
            var myGraphic = Graphics.FromImage(img);                                         //创建Graphic对象,核心的类
            var sourceString = $"{DateTime.Today:yyyy-MM-dd}";                               //水印内容(今天日期)
            var font = new Font("Arial", 23);                                                // 水印字体
            var size = myGraphic.MeasureString(sourceString, font);                          //水印的尺寸
            myGraphic.DrawString(sourceString, font, System.Drawing.Brushes.Red,             //把我们上面给水印定义好的属性放进去,并给水印添加个红色字体
                new PointF(img.Width - size.Width - 30, img.Height - size.Height - 30));     //计算好水印的位置(根据宽高做个减法)
            myGraphic.Dispose();                                                             //释放myGraphic
            img.Save("demo.jpg");                                                            //给加好水印的图片命名
            MessageBox.Show("水印添加成功");                                                 //弹出弹窗
        }

在这里插入图片描述

水印添加成功后,我们打开项目文件的Debug文件夹节能看到我们添加好的水印的图片文件

在这里插入图片描述

效果展示(只要我们水印位置调的好,基本都不会出现问题):

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
可以使用C#中的GDI+库来给图片添加水印效果。以下是一个简单的示例代码: ```csharp using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Imaging; public static Image AddWatermark(Image image, string watermarkText, Font font, Color color, float opacity, PointF position) { // 创建一个与原图相同大小的Bitmap对象 Bitmap bitmap = new Bitmap(image.Width, image.Height, PixelFormat.Format32bppArgb); // 创建一个Graphics对象,用于绘制水印 using (Graphics graphics = Graphics.FromImage(bitmap)) { // 将Graphics对象的渲染质量设置为高质量 graphics.InterpolationMode = InterpolationMode.HighQualityBicubic; graphics.SmoothingMode = SmoothingMode.HighQuality; graphics.CompositingQuality = CompositingQuality.HighQuality; // 绘制原图 graphics.DrawImage(image, new Rectangle(0, 0, bitmap.Width, bitmap.Height), 0, 0, image.Width, image.Height, GraphicsUnit.Pixel); // 创建一个Brush对象,用于绘制水印文字 Brush brush = new SolidBrush(Color.FromArgb((int)(opacity * 255), color)); // 绘制水印文字 graphics.DrawString(watermarkText, font, brush, position); // 释放Brush对象 brush.Dispose(); } // 返回添加水印后的图片 return bitmap; } ``` 以上代码中,`AddWatermark`方法接受以下参数: - `image`:要添加水印图片。 - `watermarkText`:要添加水印文字。 - `font`:水印文字的字体。 - `color`:水印文字的颜色。 - `opacity`:水印文字的不透明度,取值范围为0-1。 - `position`:水印文字的位置。 使用示例: ```csharp Image image = Image.FromFile("sample.jpg"); Font font = new Font("Arial", 24); Color color = Color.White; float opacity = 0.5f; PointF position = new PointF(10, 10); Image newImage = AddWatermark(image, "Sample Watermark", font, color, opacity, position); newImage.Save("sample-with-watermark.jpg", ImageFormat.Jpeg); ``` 以上示例中,我们从文件中加载了一张名为`sample.jpg`的图片,然后使用`AddWatermark`方法添加了一个水印,最后将添加水印后的图片保存为`sample-with-watermark.jpg`。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值