当前位置: 首页 > ds >正文

C#上传图片后压缩

上传的图片尺寸不一,手机拍照的有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);}
}

完美解决

最近在看一款汉泰示波器,操作来说还是比较易上手的,还有讲解视频。

http://www.xdnf.cn/news/10205.html

相关文章:

  • 【Dify学习笔记】:Dify离线安装插件教程
  • 【原理扫描】不安全的crossdomain.xml文件和CORS(跨站资源共享)原始验证失败验证与彻底方案
  • (24)多租户 SaaS 平台设计
  • C语言进阶--自定义类型详解(结构体、枚举、联合)
  • AWS WAF设置IP白名单
  • 指数函数的泰勒展开可视化:从数学理论到Python实现
  • 历年西北工业大学计算机保研上机真题
  • 【已解决】YFRateLimitError(‘Too Many Requests. Rate limited. Try after a while.‘)
  • Spring Boot 3 整合 MQ 构建聊天消息存储系统
  • 测试用例及黑盒测试方法
  • Java进化之路:从Java 8到Java 21的重要新特性(深度解析)
  • JS手写代码篇---手写节流函数
  • Linux(8)——进程(控制篇——上)
  • mac mini m4命令行管理员密码设置
  • 【Java基础-环境搭建-创建项目】IntelliJ IDEA创建Java项目的详细步骤
  • 专业课复习笔记 11
  • 评论功能开发全解析:从数据库设计到多语言实现-优雅草卓伊凡
  • 在 Linux 上构建 Kubernetes 单节点集群:Minikube 安装与实战指南
  • 第2章-12 输出三角形面积和周长(走弯路解法)
  • 26 C 语言函数深度解析:定义与调用、返回值要点、参数机制(值传递)、原型声明、文档注释
  • C++ 模版复习
  • 【个人思考】超级玛丽亚小游戏设计文档
  • Unity UI系统中RectTransform详解
  • 用美图秀秀批处理工具定制专属图片水印的方法详解
  • 【技术支持】安卓11开机启动设置
  • IDEA修改JVM内存配置以后,无法启动
  • TC/BC/OC P2P/E2E有啥区别?-PTP协议基础概念介绍
  • C语言操作Kafka
  • 3DMAX+Photoshop教程:将树木和人物添加到户外建筑场景中的方法
  • java对接bacnet ip协议(跨网段方式)