上传的图片尺寸不一,手机拍照的有2000*2000像素的,对实际使用来说
文件尺寸太大,文件也有近4M
下面是直接压缩的方法
1、安装包
Magick.NET-Q16-AnyCPU
2、上代码
/// <summary>
/// 缩放图片
/// </summary>
/// <param name="fullPath">文件地址</param>
/// <param name="maxWidth">设置目标图片的最大宽度</param>
private void SuoFangImg(string fullPath, int maxWidth)
{
try
{
fullPath = Directory.GetCurrentDirectory() + "/wwwroot" + fullPath;
//fullPath为图片路径
using (MagickImage Magickimage = new MagickImage(fullPath))
{
//int maxWidth = 600; // 设置目标图片的最大宽度为1300像素
Magickimage.Quality = 50;// 100;//进行无损压缩
// 计算新的尺寸,保持宽高比
int width = (int)Magickimage.Width;
int height = (int)Magickimage.Height;
int newWidth = width;
int newHeight = height;
// 如果原始宽度大于最大宽度,则计算新的宽度和高度
if (width > maxWidth)
{
// 保持宽高比,计算新的宽度和高度
double aspectRatio = (double)height / (double)width;
newWidth = maxWidth;
newHeight = (int)(maxWidth * aspectRatio);
}
// 缩放图片
Magickimage.Resize((uint)newWidth, (uint)newHeight);
Magickimage.Write(fullPath);
Magickimage.Dispose();
}
}
catch (Exception ex)
{
_log.Error("压缩缩放图片出现异常:" + ex.Message);
_log.Info("图片地址:" + fullPath);
}
}
完美解决
最近在看一款汉泰示波器,操作来说还是比较易上手的,还有讲解视频。
1502

被折叠的 条评论
为什么被折叠?



