netcore使用ImageSharp裁切图片

项目需对上传图片进行裁切处理,原裁切方法无法跨平台使用。找到ImageSharp项目,参考其说明,用简单代码完成需求。项目地址为https://github.com/SixLabors/ImageSharp 。

项目中需要对上传的图片进行裁切处理,发现之前的裁切方法不能跨平台使用了,于是乎找到了ImageSharp项目,项目地址https://github.com/SixLabors/ImageSharp,参考项目说明中的方法,很简单的几句话就完成了需求,感谢各位大牛做的的杰出贡献。

        #region 图片处理

        /// <summary>
        /// 裁切图片大小
        /// </summary>
        /// <param name="imagePath">图片路径</param>
        /// <param name="maxSize">裁切尺寸</param>
        /// <param name="isCreateNew">是否另存</param>
        public static void CutImage(string imagePath, int maxSize, bool isCreateNew = false)
        {
            using (Image<Rgba32> image = Image.Load(imagePath))
            {
                if (isCreateNew == true)
                {
                    imagePath = imagePath.Insert(imagePath.Length - 4, "_" + maxSize);
                }
                if (image.Width > image.Height)
                {
                    if (image.Width > maxSize)
                    {
                        image.Mutate(x => x
                             .Resize(maxSize, maxSize / image.Width * image.Height));
                        image.Save(imagePath);
                    }
                }
                else
                {
                    if (image.Height > maxSize)
                    {
                        image.Mutate(x => x
                             .Resize(maxSize / image.Height * image.Width, maxSize));
                        image.Save(imagePath);
                    }
                }
            };
        }

        #endregion

 

转载于:https://www.cnblogs.com/wangbg/p/10930074.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值