登录 立即注册

首页 > 绿虎论坛 > 软件开发 > 编程语言 > golang (发帖)

标题: 一个高性能、零依赖的纯 Go 语言 JBIG2 解码器

作者: @Ta

时间: 01-04 17:40

点击: 375

开源地址:https://github.com/xiaoqidun/jbig2
写OFD渲染库时弄的,OFD很多发票图片就是JBIG2编码的,迫于Go生态无纯Go JBIG2解码器,兼容了png、jpg这种标准库用法,如果你的程序用的是标准库那套方式,你只需要这样_ "github.com/xiaoqidun/jbig2"导包,不做任何代码调整,你的程序就支持了JBIG2图像解码。
package main

import (
	"image"
	"image/png"
	"log"
	"os"

	_ "github.com/xiaoqidun/jbig2"
)

func main() {
	// 1. 打开JB2文件
	file, err := os.Open("test.jb2")
	if err != nil {
		log.Fatal(err)
	}
	defer file.Close()
	// 2. 标准方式解码
	img, format, err := image.Decode(file)
	if err != nil {
		log.Fatal(err)
	}
	// 3. 输出PNG文件
	outFile, err := os.Create("test.png")
	if err != nil {
		log.Fatal(err)
	}
	defer outFile.Close()
	if err := png.Encode(outFile, img); err != nil {
		log.Fatal(err)
	}
	log.Printf("格式: %s, 宽度: %d, 高度: %d, 已输出到 test.png\n", format, img.Bounds().Dx(), img.Bounds().Dy())
}

[隐藏样式|查看源码]


『回复列表(1|隐藏机器人聊天)』

1.
一加8Pro
(/@Ta/2026-01-04 17:42//)

回复需要登录

1月7日 14:34 星期三

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1