生成水印

Posted 布雷客·希

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生成水印相关的知识,希望对你有一定的参考价值。

        /// <summary>
        /// 创建图片字节数组
        /// </summary>
        /// <returns></returns>
        private byte[] CreateImgData(string text)
        {
            byte[] resData = null;
            using (var img = new Bitmap(300, 300))
            {
                using (var graphics = Graphics.FromImage(img))
                {
                    //消除锯齿
                    graphics.SmoothingMode = SmoothingMode.AntiAlias;
                    graphics.TextRenderingHint = TextRenderingHint.AntiAlias;

                    //字体设置(根据实际情况提供自定义字体的路径)
                    var tffFilePath = Path.Combine(“方正彩云_GBK.ttf”); ;
                    PrivateFontCollection pfc = new PrivateFontCollection();
                    pfc.AddFontFile(tffFilePath);
                    var font = new Font(pfc.Families[0], 24, FontStyle.Regular);

                    //文字信息
                    var size = graphics.MeasureString(text, font);
                    var textPoint = new PointF((img.Width - size.Width) / 2, (img.Height - size.Height) / 2);

                    //旋转
                    Matrix mtxSave = graphics.Transform;
                    Matrix mtxRotate = graphics.Transform;
                    mtxRotate.RotateAt(-45f, new PointF(img.Width / 2, img.Height / 2));
                    graphics.Transform = mtxRotate;

                    //绘制文字
                    Brush b = new SolidBrush(Color.FromArgb(128, 204, 204, 204));
                    graphics.DrawString(text, font, b, (img.Width - size.Width) / 2, (img.Height - size.Height) / 2);

                    //输出字节数组
                    using (var memoryStream = new MemoryStream())
                    {
                        img.Save(memoryStream, ImageFormat.Png);
                        resData = memoryStream.ToArray();
                    }

                }
            }
            return resData;
        }

  

以上是关于生成水印的主要内容,如果未能解决你的问题,请参考以下文章

使用iTextSharp生成的PDF生成水印给出错误

用iText生成word文档, 怎么给 word 添加水印,不是生成pdf哦,是word,哪位大神help~~

抖音去水印代码解析部分代码,抖音xgorgon还有设备参数生成算法

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

java如何实现在web工程中用OpenOffice生成带有图片水印的pdf

golang 为图片加水印