libspng是一个C语言的开发库,用来读写PNG格式图片,特点是安全而且易用。
libspng目标是提供一个快速的PNG库,其API与 libpng 相同。
下图是几个png库的性能比较:
功能比较:
Featurelibspnglibpngstb_imagelodepngDecodetoRGBA8/16✓✓✓✓Decodefromstream✓✓✓XGammacorrection✓✓XXFuzzedby OSS-Fuzz✓✓X✓ProgressivereadX*✓XXDoesn'trequirezlibXX✓✓EncodingX*✓✓✓AnimatedPNGX*✓**XX*计划阶段的特性
**第三方补丁
示例代码:
/*Createacontext*/spng_ctx*ctx=spng_ctx_new(0);/*Setaninputbuffer*/spng_set_png_buffer(ctx,buf,buf_size);/*Determineoutputimagesize*/spng_decoded_image_size(ctx,SPNG_FMT_RGBA8,&out_size);/*Decodeto8-bitRGBA*/spng_decode_image(ctx,out,out_size,SPNG_FMT_RGBA8,0);/*Freecontextmemory*/spng_ctx_free(ctx);
评论