Lilliput Discord 开源的图像调整工具

开源网站开源项目 24-03-29 12:43:35

Lilliput 依靠成熟的、高性能的 C 语言库来完成解压、调整大小和压缩图像的大部分工作。它的目标是尽可能少地进行内存分配,尤其是不在 Go 中产生垃圾。因此,它适用于非常高吞吐量的图像大小调整服务。

Lilliput 支持调整 JPEG、PNG、WEBP 和 GIF 动画的大小,它还可以转换格式。Lilliput 还对从 MOV 和 WEBM 视频中获取第一帧有一些支持。Lilliput 目前只支持 Mac 和 Linux。

用法

首先,import "github.com/discord/lilliput"

解码器

Lilliput 关注内存中的图像,因此解码器要求图像数据位于 []byte 缓冲区中。

func lilliput.NewDecoder([]byte buf) (lilliput.Decoder, error)

Decoder从包含的压缩图像创建一个新对象buf。当缓冲区的 magic 字节与支持的图像类型之一不匹配时,这将返回错误。

func (d lilliput.Decoder) Header() (lilliput.ImageHeader, error)

读取并返回图像的 header。header 包含图像的元数据。如果图像的 header 格式错误,则返回错误。header 格式错误的图像无法解码。

func (d lilliput.Decoder) Description() string

返回描述图像类型的字符串,例如"JPEG"or "PNG"

func (h lilliput.Decoder) Duration() time.Duration

返回内容的长度。对于静态图像和动画 GIF,返回 0。

func (d lilliput.Decoder) DecodeTo(f *lilliput.Framebuffer) error

完全解码图像并将其像素数据写入f. 如果解码过程失败,则返回错误。如果图像包含多个帧,则每次调用都会返回一个后续帧。当图像不包含更多要解码的数据时返回io.EOF

lilliput 的用户通常不应该调用DecodeTo而应该使用 ImageOps 对象。

func (d lilliput.Decoder) Close()

关闭解码器并释放资源,Decoder 对象在不再使用时必须有.Close()调用。

[Lilliput Discord 开源的图像调整工具]相关推荐
dupeGuru 重复文件查找工具

dupeGuru 重复文件查找工具

dupeGuru 它可以让你找到重复的文件到你的PC机上。它可以扫描或文件名或目录,可以帮您找到像重复的文件名……...

Selene 视频转换工具软件

Selene 视频转换工具软件

Selene 是一款自由开源视频转换工具软件,采用 Vala 语言开发。支持常见的视频和音频格式文件:OGG、 OGV……...

vex JavaScript 对话框

vex JavaScript 对话框

vex 是一个现代的对话框库,具有很高的可配置性,易于样式化,并且不受干扰。具有清晰简单的API,可在移……...

Lion HTTP 路由器

Lion HTTP 路由器

Lion 是一个 Go 语言的快速 HTTP 路由器,支持构建可伸缩的模块化的 REST APIs 应用。 特性 上下文敏感:……...

今日开源
  1. Rust Mozilla的编程语言

    Rust Mozilla的编程语言

    Rust 是 Mozilla 的一个新的编程语言,由web语言的领军人物Brendan Eich(js之父),Dave Herman以及Mozilla公司的Graydon Hoare 合力开发。 创建这个新语言的目的是为了解决一个很顽疾的问题:软件的演进速度大……

    开源软件 2024-05-11

  2. Mobile ALOHA全身遥控操作系统:开源AI家务机器人

    Mobile ALOHA全身遥控操作系统:开源AI家务机器人

    Mobile ALOHA低成本的全身遥控操作系统,它可以通过模仿学习人类的行为,学会家务类型的活动。比如操作员演示 50 次煎炒虾,该机器人就可以自主完成炒虾的操作,作者团队还演示了擦玻璃、洗碗、收纳物品等任务。 ……

    Mobile ALOHA 2024-05-11

  3. JPcsp PSP模拟器

    JPcsp PSP模拟器

    PSP模拟器 JPcsp 是一个基于Java的开源PSP模拟器,经过5个月的持续开发,目前推出了0.1版,这是第一个官方正式版本。 这个版本支持了更多的游戏模拟,当然目前并不是所有的游戏都支持,不过还会不断的进行完善。

    开源软件 2024-05-11

返回顶部小火箭