×

Lilliput Discord开源的图像调整工具

消耗积分:2 | 格式:zip | 大小:88.40 MB | 2022-05-30

48674

分享资料个

授权协议 MIT
开发语言 C/C++ Google Go
操作系统 跨平台
软件类型 开源软件

软件简介

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)

读取并返回图像的 headerheader 包含图像的元数据。如果图像的 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()调用。

 

 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !