.NET 调整图片尺寸(Resize)各种方法
转自:晓晨Master
本文中如无特别说明
.NET
指 .NET 5或者更高版本,代码同样可用于 .NET Core
前言
调整图片尺寸最常用的场景就是生成缩略图,一般为保持纵横比缩小,如果图片放大会使图片变得模糊,如果确实有这方面的需求,可以寻找开源的AI放大图片的方法。
1.ImageSharp
开源地址:https://github.com/SixLabors/ImageSharp
安装:
dotnet add package SixLabors.ImageSharp
使用:
using var image = Image.Load<Rgba32>("<图片路径>");
image.Mutate(x=>x.Resize(50,0));
image.Save("<保存图片路径>");
其中调用 Resize(width,height)
方法时,如果设置了宽或者高,然后另一个参数设置为 0 ,那么 ImageSharp 将会保持图片纵横比来进行调整大小。
还有更多的设置,比如设置图片质量等,请参阅官方文档:https://docs.sixlabors.com/articles/imagesharp/resize.html
使用此组件,可任意跨平台,无需安装外部依赖
2.ImageProcessor
此组件只能用于 .NET Framework
开源地址:https://github.com/JimBobSquarePants/ImageProcessor
安装:
Install-Package ImageProcessor
添加程序集:System.Drawing
使用:
using (var imageFactory = new ImageFactory(true))
{imageFactory.Load("<图片路径>").Resize(new Size(50,50)).Save("<保存图片路径>");
}
3.SkiaSharp
开源地址:https://github.com/mono/SkiaSharp
安装:
dotnet add package SkiaSharp
若在Linux出现依赖问题,可以使用包SkiaSharp.NativeAssets.Linux.NoDependencies
使用:
var image = SKBitmap.Decode("<图片路径>");
//设置图片新的size
var newImg = image.Resize(new SKSizeI(50, 50), SKFilterQuality.Medium);
using var fs=new FileStream("<保存图片路径>",FileMode.Create);
newImg.Encode(fs,SKEncodedImageFormat.Png, 100);
fs.Flush();
4.NetVips
此组件是基于 C 的库 libvips 来封装的,性能高,资源占用低。并且经过完全测试,跨平台且没有内存泄漏。
开源地址:https://github.com/kleisauke/net-vips
安装:
dotnet add package NetVips
dotnet add package NetVips.Native
两个包都需要安装
使用:
var image = NetVips.Image.NewFromFile("<图片路径>");
var newImg = image.Resize(<图片缩放比例>);
newImg.WriteToFile("<保存图片路径>");
这里的Resize()
方法设置的是缩放比例,如: 0.5。该组件额外提供了一个生成缩略图的方法ThumbnailImage()
,可以自定义宽高,如果只穿宽度,那么将保持纵横比。
var image = NetVips.Image.NewFromFile("<图片路径>");
var newImg = image.ThumbnailImage(<图片宽度>);
newImg.WriteToFile("<保存图片路径>");
.NET 调整图片尺寸(Resize)各种方法相关推荐
- 如何批量调整图片尺寸?
如何批量调整图片尺寸?在日常的工作中,我们经常需要使用到图片素材,所以如果想要从容地面对各种不同的图片,学会一些图片处理的技巧就非常有必要了,尤其是图片批量处理技巧,当有大量图片需要处理的时候,批量处 ...
- iOS 调整图片尺寸和大小的两个方法
在开发过程中,我们经常会遇到图片压缩功能,下面是我写的图片压缩的两个方法 首先是第一种,也是我比较推荐的 /// 调整图片尺寸和大小 /// @param sourceImage 原始图片 /// @ ...
- 使用Python调整图片尺寸(大小)
凯哥英语视频 使用Python调整图片尺寸(大小) python有一个图像处理库--PIL,可以处理图像文件.PIL提供了功能丰富的方法,比如格式转换.旋转.裁剪.改变尺寸.像素处理.图片合并等等等等 ...
- 在你的iPad上调整图片尺寸
本文翻译自Brian's Brain的Resize Images on Your iPad 在我的上一篇文章中,我描述了试图用图片平铺的方式来解决在ipad上展示"大型图片"的问题 ...
- python 修改图片尺寸_Python实现更改图片尺寸大小的方法(基于Pillow包)
本文实例讲述了Python实现更改图片尺寸大小的方法.分享给大家供大家参考,具体如下: 1.PIL包推荐Pillow. 2.源码: #encoding=utf-8 #author: walker #d ...
- 怎么修改淘宝主图尺寸大小?图片尺寸修改的方法
在制作淘宝主图的时候,偶尔会需要修改图片尺寸来符合上传要求,那么怎么去给图片改大小(https://www.yasuotu.com/size)呢?这里可以通过在线改图片大小的方法来实现,快捷又方便,而 ...
- 不用ps,怎么批量调整图片尺寸大小?
工作中要修改图片尺寸大小,我们首先想要的就是用photoshop软件来处理,但是用photoshop来处理也会有很多的不变,其一是如果图片数量多的话用PS一张一张处理起来会消耗很多的时间,很麻烦:其二 ...
- ios 改变图片尺寸_iOS基础(十八)——调整图片尺寸和大小
调整图片尺寸和大小 /** * 调整图片尺寸和大小 * * @param sourceImage 原始图片 * @param maxImageSize 新图片最大尺寸 * @param maxSize ...
- php中调整图片大小,php 调整图片尺寸的简单示例
这篇文章主要为大家详细介绍了php 调整图片尺寸的简单示例,具有一定的参考价值,可以用来参考一下. 对php调整图片尺寸的代码感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! /** * ...
- 【matplotlib绘图】调整图片尺寸大小
[matplotlib绘图]调整图片尺寸大小 核心代码如下: import matplotlib.pyplot as plt plt.rcParams['figure.figsize'] = (12. ...
最新文章
- 这个 MySQL bug 99% 的人会踩坑!
- 基于.NET Framework 4.0的解决方案部署
- CentOS HarBor安装与配置
- 【LuoguP5004】 专心OI - 跳房子
- python 读取、写入 pkl文件
- 如何实现BootStrapTable的动态表格
- Java SE 基础:线程
- Python根据身份证得知性别
- 小丁在加班之JVM优化-内存结构
- 高新计算机考试试题ps,最新版计算机高新考试ps第1单元1-8.pdf
- php判断汉子首字母的函数,php获取汉字首字母的函数
- / ./ ../的区别
- 架构之占位式插件化框架 --组件通信
- 二级路由dhcp关闭连不上wifi_路由器的使用小技巧!
- VS2015 0xc000007b应用程序无法正常启动 解决办法
- html中左括号怎么写,HTML基础 特殊符号 左右尖括号 与 货币 乘 除
- Python3调用百度翻译API进行英文翻译
- element ui table中想使得其中一列数据拥有横向滚动条的效果
- 对DB,DBMS的理解
- 北大822计算机综合考纲,天津工业大学822运营管理考研大纲2019年与2018年对比一览表...