zoukankan      html  css  js  c++  java
  • .Net给图片加水印,并解决“无法从带有索引像素格式的图像创建Graphics对象”问题

     using (Image img = Image.FromFile(savePath))

    {
    //如果原图片是索引像素格式之列的,则需要转换
    if (img.PixelFormat!=null)
    {
    Bitmap bmp = new Bitmap(img.Width, img.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
    using (Graphics g = Graphics.FromImage(bmp))
    {
    g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
    g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
    g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;

    g.DrawImage(img, 0, 0, bmp.Width, bmp.Height);
    Font f = new Font("微软雅黑", 32); 

    Brush b = new SolidBrush(Color.FromArgb(150, 255, 0, 0));
    string addText = "仅供预览, 此件打印无效";
    StringFormat Format = new StringFormat();
    Format.Alignment = StringAlignment.Center; //居中
    Rectangle rec = new Rectangle(0, 0, img.Width, img.Height);

    Format.LineAlignment = StringAlignment.Center;
    g.DrawString(addText, f, b, rec, Format);
    g.Dispose();
    bmp.Save(savePath + "_");
    }
    }
    else
    {
    System.Drawing.Image image = System.Drawing.Image.FromFile(savePath);
    Graphics g = Graphics.FromImage(image);
    g.DrawImage(image, 0, 0, image.Width, image.Height);
    Font f = new Font("微软雅黑", 32);
    Brush b = new SolidBrush(Color.FromArgb(150, 255, 0, 0));
    string addText = "仅供预览, 此件打印无效";
    StringFormat Format = new StringFormat();
    Format.Alignment = StringAlignment.Center; //居中

    Format.LineAlignment = StringAlignment.Center; //居中

    Rectangle rec = new Rectangle(0, 0, image.Width, image.Height);

    g.DrawString(addText, f, b, rec, Format);

    g.Dispose();
    image.Save(savePath + "_");
    }
    }

    效果如下

  • 相关阅读:
    Hibernate性能优化之EHCache缓存
    Hibernate性能优化之SessionFactory重用
    用 NetBeans 快速开发 Java JAX-RS RESTful 服务
    Linux iptables:场景实战一
    Linux iptables:规则组成
    Linux iptables:规则原理和基础
    Linux安全之SYN攻击原理及处理
    Linux常用网络工具:批量主机服务扫描之netcat
    Linux常用网络工具:批量主机服务扫描之nmap
    Linux常用网络工具:路由扫描之mtr
  • 原文地址:https://www.cnblogs.com/tianxiaotian/p/9777854.html
Copyright © 2011-2022 走看看