zoukankan      html  css  js  c++  java
  • 生成图片水印

    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
        }
  • 相关阅读:
    ORA-12520: TNS:监听程序无法为请求的服务器类型找到可用的处理程序解
    Django2.1.2创建默认管理后台
    堡垒机实例以及数据库操作
    pycharm常用快捷键
    Linux命令之sftp
    oracle收集ash和awr性能报告方法
    linux-php5.6-安装sftp扩展
    linux系统安全设置策略
    Openssh版本升级修复漏洞
    Android Studio下HierarchyViewer的使用
  • 原文地址:https://www.cnblogs.com/vaevvaev/p/6925125.html
Copyright © 2011-2022 走看看