zoukankan      html  css  js  c++  java
  • 二维码名片

     /// <summary>
            ///  给图片加水印(图片居中)
            /// </summary>
            /// <param name="srcImgPath">原始图片路径</param>
            /// <param name="waterPath">水印图片路径</param>
            /// <param name="waterWidth">水印区域的宽度</param>
            /// <param name="waterHeight">水印区域的高度</param>
            /// <param name="waterString">水印字符</param>
            /// <param name="markPosition">水印的位置</param>
     
            public static void MakeWaterPic(string srcImgPath, string waterPath, int waterWidth, int waterHeight, string waterString, string markPosition = "图片中间")
            {
                //1. 从原图片创建 Image 对象 
                using (Image img = Image.FromFile(srcImgPath))
                {
                    //2.用指定的大小和格式初始化 Bitmap 类的新实例 
                    using (Bitmap map = new Bitmap(img.Width, img.Height, PixelFormat.Format32bppArgb))
                    {
                        //3.从指定的 Image 对象创建新 Graphics 对象 
                        using (Graphics g = Graphics.FromImage(map))
                        {
    
                            //4.在指定位置并且按指定大小绘制 原图片 对象 
                            g.DrawImage(img, new Rectangle(0, 0, img.Width, img.Height), new RectangleF(0, 0, img.Width, img.Height), GraphicsUnit.Pixel);
    
                            //g.DrawImage(map2,new Rectangle(0, 0, map2.Width, map2.Height));
                            // 设置水印字体
                            int fHeight = img.Height / 5;
                            if (fHeight > 16) fHeight = 16;
                            Font drawFont = new Font("Arial", fHeight);
    
                            // 设置水印文字位置 
                            int disX = 0, disY = 0;
                            if (markPosition == "图片中间")
                            {
                                disX = (img.Width - waterWidth) / 2;
                                disY = (img.Height - waterHeight) / 2;
                            }
                            StringFormat drawFormat = new StringFormat();
                            drawFormat.FormatFlags = StringFormatFlags.NoWrap;
                            //文本居中显示
                            drawFormat.Alignment = StringAlignment.Center;
                            drawFormat.LineAlignment = StringAlignment.Center;
    
                            SolidBrush drawBrush = new SolidBrush(Color.White);
                            //填充矩形
                            g.FillRectangle(drawBrush, new Rectangle(disX, disY, waterWidth, waterHeight));
                            drawBrush.Color = Color.Black;
                            g.DrawString(waterString, drawFont, drawBrush, new RectangleF(disX, disY, waterWidth, waterHeight), drawFormat);
    
    
                            map.Save(waterPath, ImageFormat.Jpeg);
                        }
                    }
                }
            }
    

      

  • 相关阅读:
    【JZOJ3743】【BZOJ5158】Alice and Bob
    【JZOJ3719】K-D-Sequence
    【JZOJ1913】【BZOJ2124】等差子序列
    【JZOJ1914】【BZOJ2125】最短路
    【luoguP4768】【NOI2018】归程
    【JZOJ6435】【luoguP5666】【CSP-S2019】树的重心
    【JZOJ6434】【luoguP5665】【CSP-S2019】划分
    【JZOJ6433】【luoguP5664】【CSP-S2019】Emiya 家今天的饭
    【JZOJ6431】【luoguP5658】【CSP-S2019】括号树
    【JZOJ3673】【luoguP4040】【BZOJ3874】宅男计划
  • 原文地址:https://www.cnblogs.com/zjflove/p/5026022.html
Copyright © 2011-2022 走看看