Magick.NET跨平台压缩图片的用法
//首先NuGet安装:Magick.NET.Core,Magick.NET-Q16-AnyCPU
using ImageMagick; /// <summary>
/// 压缩图片
/// </summary>
/// <param name="imageData">图片字节流</param>
/// <param name="maxWidth">最大宽度</param>
/// <param name="maxHeight">最大高度</param>
/// <returns></returns>
public static byte[] CompressImage(byte[] imageData, int maxWidth, int maxHeight)
{
using var image = new MagickImage(imageData);
double width = image.Width;
double height = image.Height; double scale = Math.Min(maxWidth / width, maxHeight / height); if (scale >= 1) //图片尺寸不高于最大尺寸,直接返回原图
return imageData; int newWidth = (int)Math.Round(width * scale, MidpointRounding.AwayFromZero);
int newHeight = (int)Math.Round(height * scale, MidpointRounding.AwayFromZero); image.Resize(newWidth, newHeight); var compressedImage = image.ToByteArray(MagickFormat.Jpg); return compressedImage;
}
Magick.NET跨平台压缩图片的用法的更多相关文章
- .NET压缩图片保存  .NET CORE WebApi Post跨域提交  C# Debug和release判断用法  tofixed方法 四舍五入  (function($){})(jQuery);  使用VUE+iView+.Net Core上传图片
		
.NET压缩图片保存 需求: 需要将用户后买的图片批量下载打包压缩,并且分不同的文件夹(因:购买了多个用户的图片情况) 文章中用到了一个第三方的类库,Nuget下载 SharpZipLib 目前用 ...
 - Android 高清加载巨图方案 拒绝压缩图片
		
Android 高清加载巨图方案 拒绝压缩图片 转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/49300989: 本文出自:[张 ...
 - 续Gulp使用入门三步压缩图片
		
gulp 压缩图片 压缩 图片文件可降低文件大小,提高图片加载速度. 找到规律转换为 gulp 代码 规律 找到 images/ 目录下的所有文件,压缩它们,将压缩后的文件存放在 dist/image ...
 - 上传图片转为base64格式预览并压缩图片(不兼容IE9以下浏览器,兼容移动端ios,android)
		
前些天公司要求在微信移动端做上传图片并预览的功能,要求能够调用摄像头拍照并立即预览. 在网上搜了一些方法,开始自己写了个简单的功能实现代码.结果发现移动端拍照出来的图片动不动就2M+,又因为要批量上传 ...
 - 【厚积薄发】Crunch压缩图片的AssetBundle打包
		
这是第133篇UWA技术知识分享的推送.今天我们继续为大家精选了若干和开发.优化相关的问题,建议阅读时间10分钟,认真读完必有收获. UWA 问答社区:answer.uwa4d.com UWA QQ群 ...
 - XE下的FMX中压缩图片
		
用FMX压缩图片,发现FMX里的canvas没有draw,stretch,cliprect类,FMX里程序创建时会自动引用FMX.Graphics, 而这个单元内的TBitmap类的Canvas没有S ...
 - 推荐一个用于压缩图片的JS插件:localResizeIMG
		
惯例,先贴传送门:https://github.com/think2011/localResizeIMG 首先说到,为嘛要压缩图片,这需求一般出现在需要上传照片(尤其是移动端)的情况下,现在手机拍出来 ...
 - iOS学习-压缩图片(改变图片的宽高)
		
压缩图片,图片的大小与我们期望的宽高不一致时,我们可以将其处理为我们想要的宽高. 传入想要修改的图片,以及新的尺寸 -(UIImage*)imageWithImage:(UIImage*)image ...
 - Android压缩图片到100K以下并保持不失真的高效方法
		
前言:目前一般手机的相机都能达到800万像素,像我的Galaxy Nexus才500万像素,拍摄的照片也有1.5M左右.这么大的照片上传到服务器,不仅浪费流量,同时还浪费时间. 在开发Android企 ...
 - js压缩图片base64长度
		
var myCanvas=$('.img-container > img').cropper('getCroppedCanvas'); (function (base64){ var image ...
 
随机推荐
- MySQL事务和锁实战篇
			
文章目录 MySQL事务和锁 事务 事务的控制语句 事务隔离级别设置 脏读 不可重复读 幻读 锁机制 InnoDB的行级锁 锁实战 死锁 总结 MySQL事务和锁 事务 说到关系型的数据库的事务,相信 ...
 - Windows亚克力特效代码实现(Dev c++可以编译通过)
			
#include <windows.h> #include <dwmapi.h> // 定义一个枚举类型,表示不同的窗口组合状态 enum AccentState { ACCE ...
 - Node + Express 后台开发 —— 上传、下载和发布
			
上传.下载和发布 前面我们已经完成了数据库的增删改查,在弄一个上传图片.下载 csv,一个最简单的后台开发就已完成,最后部署即可. 上传图片 需求 需求:做一个个人简介的表单提交,有昵称.简介和头像. ...
 - drf-spectacular
			
介绍 drf-spectacular是为Django REST Framework生成合理灵活的OpenAPI 3.0模式.它可以自动帮我们提取接口中的信息,从而形成接口文档,而且内容十分详细,再也不 ...
 - 一次redis主从切换导致的数据丢失与陷入只读状态故障
			
背景 最近一组业务redis数据不断增长需要扩容内存,而扩容内存则需要重启云主机,在按计划扩容升级执行主从切换时意外发生了数据丢失与master进入只读状态的故障,这里记录分享一下. 业务redis高 ...
 - 二次封装Element UI Table实现动态列
			
开发中是否会遇见在一个页面中加载的table的列是不固定的,列名需要根据后台数据而动态加载:so element ui 的table 已经不再满足需求,我们得在他的基础上再次封装 增加 refacto ...
 - MassTransit类库Saga文档翻译
			
翻译自 Saga State Machines Saga State Machines(状态机) Saga State Machines(状态机)以前被称为Automatonymous,从v8开始被合 ...
 - Spring Boot 自动配置一篇概览
			
一.什么是自动配置 bean 自动配置类通过添加 @AutoConfiguration 注解实现. 因为 @AutoConfiguration 注解本身是以 @Configuration 注解的,所以 ...
 - 基于飞桨paddlespeech训练中文唤醒词模型
			
飞桨Paddlespeech中的语音唤醒是基于hey_snips数据集做的.Hey_snips数据集是英文唤醒词,对于中国人来说,最好是中文唤醒词.经过一番尝试,我发现它也能训练中文唤醒词,于是我决定 ...
 - .Net全网最简RabbitMQ操作【强烈推荐】
			
[前言] 本文自1年前的1.0版本推出以来,已被业界大量科技公司采用.同时也得到了.Net圈内多位大佬的关注+推荐,文章也被多家顶级.Net/C#公众号转载. 现在更新到了7.0版本,更好的服务各位. ...