• .net生成水印和缩略图


    • 引用NuGet :CodeCarvings.Piczard 

            /// <summary>
            /// 生成缩略图
            /// </summary>
            /// <param name="imageWidth">图片宽</param>
            /// <param name="imageHigh">图片高</param>
            /// <param name="sourePath">原图</param>
            /// <param name="savePath">保存路径</param>
            private static void CreateThumbnail(int imageWidth, int imageHigh, string sourePath, string savePath)
            {
                ImageProcessingJob ipj = new ImageProcessingJob();
                ipj.Filters.Add(new FixedResizeConstraint(imageWidth, imageHigh)); //
                ipj.SaveProcessedImageToFileSystem(sourePath, savePath, new JpegFormatEncoderParams());  
            }
            /// <summary>
            /// 生成水印
            /// </summary>
            /// <param name="imageWidth">生成后图片宽度</param>
            /// <param name="imageHigh">生成后图片高度</param>
            /// <param name="markimage">水印图</param>
            /// <param name="sourePath">原图*(需要添加水印的图片)</param>
            /// <param name="savePath">生成路径</param>
            private static void CreateThumbnail(int? imageWidth, int? imageHigh,string markimage, string sourePath, string savePath)
            {
                ImageWatermark mark = new ImageWatermark(markimage);
                mark.ContentAlignment = System.Drawing.ContentAlignment.BottomRight;
                mark.Alpha = 50;
                ImageProcessingJob job = new ImageProcessingJob();
                job.Filters.Add(mark);
                if (!imageWidth.HasValue && !imageHigh.HasValue)
                {
                    job.Filters.Add(new FixedResizeConstraint(imageWidth.Value, imageHigh.Value));
                }    
                job.SaveProcessedImageToFileSystem(sourePath, savePath, new JpegFormatEncoderParams());
    
            }

    效果:

    生成验证码:

           /// <summary>
            /// 生成验证码
            /// </summary>
            /// <param name="verificationCode">验证码字符串</param>
            /// <param name="width">图片宽度</param>
            /// <param name="hight">图片高度</param>
            /// <param name="Fontsize">字体大小</param>
            /// <param name="degree">模糊度</param>
            /// <param name="SavePath">保存路径</param>
            public static void GetVerificationCode(string verificationCode,int width,int hight,int Fontsize,int degree,string SavePath)
            {
                using (MemoryStream ms = ImageFactory.GenerateImage(verificationCode, width, hight, Fontsize, degree))
                using (FileStream fs=File.OpenWrite(SavePath))
                {
                    ms.CopyTo(fs);
                }
            }

    来自B站:逆风微笑代码狗 

    https://www.bilibili.com/video/BV1Wb411G7yk

  • 相关阅读:
    数据清洗SQL,一次性的工作
    PGSQL将字段改为不能为空
    C# WINFORM中splitcontainer调整列宽的方法
    【其他】etcd
    正则贪婪匹配
    MarsGIS for Cesium三维地图框架建设方案
    mysql 查询分区表中各个分区的数据量
    推送远程仓库(github/gitlab) 报错:Host key verification failed. fatal: Could not read from remote repository.
    sshkeygen t rsa C xxxx@xxxx.com解释
    DNS、CDN加速和域名解析之间的关系
  • 原文地址:https://www.cnblogs.com/Zingu/p/14694741.html
Copyright © 2020-2023  润新知