「GoCN酷Go推荐」Go 语言高性能图像处理神器 h2non/bimg

本文介绍了Go语言的高级图像处理库h2non/bimg,它是基于libvips库的封装,提供高性能的图像处理功能,如调整大小、旋转、水印、格式转换等。文章详细阐述了如何安装、使用该库,并给出了实例演示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0

推荐背景

日常业务开发中常会遇到各种图像处理需求,如,图片大小调整、翻转、旋转、提取大小、加水印、图片模糊化,格式转换,修剪等等;图像处理根据业务需求一部分图像处理需求在前端完成,如,用户裁剪编辑,打马赛克,美化,色彩调整;用户传完图片后的逻辑在后端处理,此时就会用到图像处理相关的方法;Go 语言标准库提供的 image 能够处理最基本的图像处理任务,但个性化的图像处理任务还是得自己实现。

当标准库无法满足日常开发的需求时候,推荐使用 h2non/bimg ,它能够快速高效完成各种高级图像处理任务。

02

h2non/bimg 是什么

h2non/bimg 是基于 C 语言的 libvips 库封装的高级图像处理的 Go 包;它的性能极高,所占内存也很小,通常比 ImageMagick, GraphicsMagick,Go 标准库快 4 倍,在某些情况下,处理 JPEG 图像的速度甚至比它们快 8 倍。

bimg uses internally libvips, a powerful library written in C for image processing which requires a low memory footprint and it's typically 4x faster than using the quickest ImageMagick and GraphicsMagick settings or Go native image package, and in some cases it's even 8x faster processing JPEG images.

h2non/bimg 提供以下出片处理 API:

  • 调整大小

  • 放大

  • 裁剪(包括智能裁剪支持,libvips 8.5+)

  • 旋转(根据 EXIF 方向自动旋转)

  • 翻转(具有基于EXIF元数据的自动翻转)

  • 翻转

  • 缩略图

  • 获取大小

  • 水印(使用文本或图像)

  • 高斯模糊效果

  • 自定义输出颜色空间(RGB,灰度...)

  • 格式转换以及压缩处理

  • EXIF元数据(大小,Alpha通道,配置文件,方向...)修改

  • 修剪(libvips 8.6+)

h2non/bimg 能够将图像输出为 JPEG、PNG 和 WEBP 格式,包括在它们之间进行格式转换。

03

怎么使用

h2non/bimg 因为基于 C 语言的 libvips 库,因此使用要满足以下几个条件:

  • libvips 8.3+ (8.8+ recommended)

  • C compatible compiler such as gcc 4.6+ or clang 3.0+

  • Go 1.3+

提示:

  • GIF、PDF 和 SVG 支持需要 libvips v8.3+。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值