libspngPNG 图片读写库

联合创作 · 2023-09-29 16:07

libspng 是一个 C 语言的开发库,用来读写 PNG 格式图片,特点是安全而且易用。

libspng 目标是提供一个快速的 PNG 库,其 API 与 libpng 相同。

下图是几个 png 库的性能比较:

功能比较:

Feature libspng libpng stb_image lodepng
Decode to RGBA8/16
Decode from stream X
Gamma correction X X
Fuzzed by OSS-Fuzz X
Progressive read X* X X
Doesn't require zlib X X
Encoding X*
Animated PNG X* ✓** X X

* 计划阶段的特性

** 第三方补丁

示例代码:

/* Create a context */
spng_ctx *ctx = spng_ctx_new(0);

/* Set an input buffer */
spng_set_png_buffer(ctx, buf, buf_size);

/* Determine output image size */
spng_decoded_image_size(ctx, SPNG_FMT_RGBA8, &out_size);

/* Decode to 8-bit RGBA */
spng_decode_image(ctx, out, out_size, SPNG_FMT_RGBA8, 0);

/* Free context memory */
spng_ctx_free(ctx);

 

浏览 11
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报