生成图片水印

public static void AddWaterText(string oldpath,string savepath,string watertext,WaterPositionMode position,string color,int alpha)
        {
            Image image = Image.FromFile(oldpath);
            Bitmap bitmap=new Bitmap(image.Width,image.Height);
            Graphics graphics = Graphics.FromImage(bitmap);
            graphics.Clear(Color.White);
            graphics.DrawImage(image,new Rectangle(0,0,image.Width,image.Height),0,0,image.Width,image.Height,GraphicsUnit.Pixel);
            Font font=new Font("arial",18);
            SizeF ziSizeF=new SizeF();
            ziSizeF = graphics.MeasureString(watertext, font);
            float x = 0f;
            float y = 0f;
            switch (position)
            {
                case  WaterPositionMode.LeftTop:
                    x = ziSizeF.Width/2f;
                    y = 8f;
                    break;
                case WaterPositionMode.LeftBottom:
                    x = ziSizeF.Width/2f;
                    y = image.Height - ziSizeF.Height;
                    break;
                case WaterPositionMode.RightTop:
                    x = image.Width*1f - ziSizeF.Width/2f;
                    y = 8f;
                    break;
                case WaterPositionMode.RightBottom:
                    x = image.Width - ziSizeF.Width;
                    y = image.Height - ziSizeF.Height;
                    break;
                case WaterPositionMode.Center:
                    x = image.Width/2;
                    y = image.Height/2 - ziSizeF.Height/2;
                    break;
            }
            try
            {
                StringFormat stringFormat = new StringFormat {Alignment = StringAlignment.Center};
                SolidBrush solidBrush = new SolidBrush(Color.FromArgb(alpha, 0, 0, 0));
                graphics.DrawString(watertext, font, solidBrush, x + 1f, y + 1f, stringFormat);
                SolidBrush brush = new SolidBrush(Color.FromArgb(alpha, ColorTranslator.FromHtml(color)));
                graphics.DrawString(watertext, font, brush, x, y, stringFormat);
                solidBrush.Dispose();
                brush.Dispose();
                bitmap.Save(savepath, ImageFormat.Jpeg);
            }
            catch (Exception e)
            {

            }
            finally
            {
                bitmap.Dispose();
                image.Dispose();
            }

        }

public enum WaterPositionMode
    {
        LeftTop,
        LeftBottom,
        RightTop,
        RightBottom,
        Center
    }
时间: 2024-09-30 22:55:48

生成图片水印的相关文章

图片上传 并生成水印

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace MySystemManager.Utility 7 { 8 public class ImageTextAndPicter 9 { 10 /// <summary> 11 /// 生成缩略图 12 /// </summary> 13 /// <param name

C#中图片新增水印

/// <summary> /// 在图片上生成图片水印 /// </summary> /// <param name="Path">原服务器图片路径</param> /// <param name="Path_syp">生成的带图片水印的图片路径</param> /// <param name="Path_sypf">水印图片路径</param> p

水印工具制作

诱因 原理 图片水印 文字水印 完整代码 使用方法 help命令 单张图片水印 单张文字水印 批量图片水印 批量文字水印 注意与拓展 注意 编码问题 文字水印自适应 拓展 总结 今天来分享一个自己做的实用工具,那就是为图片添加水印.最大的特点就是支持文字水印(可以为汉字,英文),也支持图片水印.既可以单张图片加水印,也可以支持批量图片加水印. 诱因 我本人平时喜欢写点博客什么的,所以不可避免的会使用贴图,然而目前(2016年11月27日)而言CSDN上还不能有效的为自己的图片自动的添加水印.所以

asp.net生成缩略图、文字图片水印

1 /// <summary> 2 /// 会产生graphics异常的PixelFormat 3 /// </summary> 4 private static PixelFormat[] indexedPixelFormats = { PixelFormat.Undefined, PixelFormat.DontCare, 5 PixelFormat.Format16bppArgb1555, PixelFormat.Format1bppIndexed, PixelFormat.

php生成文字水印和图片水印

生成文字水印 <?php //文字水印 /*打开图片*/ //1.配置图片路径 $src = "4.jpg"; //2.获取图片的信息(得到图片的基本信息) $info = getimagesize($src ); //3.通过获取图片类型 $type = image_type_to_extension($info[2],false); //4.在内存中创建一个图片类型一样的图像 $fun = "imagecreatefrom{$type}"; //5.图片复

.NET图片操作类,包含图片格式转换、图片缩放、 文字水印、图片水印、路径转换

using System;using System.Collections.Generic;using System.Text;using System.IO;using System.Drawing.Imaging;using System.Drawing;using System.Web;namespace ZC.Utils{  public  static class ImageHelper  { #region 图片格式转换      /// <summary>      /// 图片

h5网页水印SDK的实现代码示例

在网站浏览中,常常需要网页水印,以便防止用户截图或录屏暴露敏感信息后,追踪用户来源.如我们常用的钉钉软件,聊天背景就会有你的名字.那么如何实现网页水印效果呢? 网页水印SDK,实现思路 1.能更具获取到的当前用户信息,如名字,昵称,ID等,生成图片水印2.生成一个Canvas,覆盖整个窗口,并且不影响其他元素3.可以修改字体间距,大小,颜色4.不依赖Jquery5.需要防止用户手动删除这个Canvas 实现分析 初始参数 ? 1 2 3 4 5 6 7 size: 字体大小 color: 字体颜

asp.net 网站开发常用方法

生成验证码: using System;  using System.Data;  using System.Configuration;  using System.Collections;  using System.Web;  using System.Web.Security;  using System.Web.UI;  using System.Web.UI.WebControls;  using System.Web.UI.WebControls.WebParts;  using

ASP.net(C#)批量上传图片(完整版)

摘自:http://www.biye5u.com/article/netsite/ASPNET/2010/1996.html 这篇关于ASP.Net批量上传图片的文章写得非常好,偶尔在网上看到想转载到这里,却费劲了周折.为了更新这篇文章,我用了近半个小时,网上的转载都残缺不全,希望大家有用的参考一下,作者写的非常好. 因本网站上传图片的需要,参考很多成熟的经验,在ASP.net平台上使用C#语言,做了这一自动批量上传图片的.ASPX文件,并经调试成功,在本网站上使用,现发出来供大家参考,也希望高