libvips

libvips是一个图像处理库,涉及conversion和resample两大功能。conversion包括裁剪、嵌入和组合等,而resample用于图像缩放。库中包含rot、rotate、resize等函数,resize在缩小时使用vips_shrink和vips_reduce,放大时使用vips_affine。thumbnail结合了conversion和resample功能,提供拉伸和裁剪。注意vips_area_unref的使用防止内存泄漏,而embed和gravity用于填充图像。

文档链接

函数类别说明

一般我们用到这个库时都是想转换图像,但是转化图像又分两种情况,按照文档中使用的单词:

conversion — convert images in some way: change band format, change header, insert, extract, join

resample — resample images in various ways

通俗但不准确的说就是前者只是像素的值的位置的交换,而后者则是会做一些根据现有的像素计算新的像素值(插值一类)的事情。
所以,
裁剪,嵌入,组合 就属于前者;
而对图像缩放就属于后者。
另外两类会用到的函数:

command

# 列出所有commands
$ vips -l
# 列出某个command 的参数,只要输入空参数就可以了,如:
$ vips thumbnail 
# 注意参数类型有两种,other arguments 的使用要这样:
vips thumbnail 1.jpg 2.jpg 100 --height=200 --size=force
# 这些参数是可以和C 的函数对应起来的
# 使用 vips thumbnail 列出可以用参数时,同时会看的default value和allow value
# 数组参数
$ vips affine k2.jpg x.jpg "2 0 0 1"
#  []
vips affine k2.jpg x.jpg[Q=90,strip] "2 0 0 1"
# 用.v 文件存储中间结果
$ vips invert input.jpg t1.v
$ vips affine t1.v output.jpg "2 0 0 1"
$ rm t1.v
# 一些extra option,比如 --vips-progress 可以显示处理的进度
vips thumbnail 1.jpg 3.jpg 500 --height=800  --crop=attention --vips-progress

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值