Go标准库image/png仅负责PNG编解码,不处理绘制;Decode需io.Reader输入并返回适配原始色深的image.Image(如NRGBA/Gray),Encode要求图像实现ColorModel/Bounds且格式合法;常见错误包括忽略错误、越界访问、签名缺失等。
image/png 包是 Go 标准库中处理 PNG 图片的核心工具,它不负责图像绘制或像素操作,只做编码(Encode)和解码(Decode)——也就是说,你得先有 image.Image 实例才能用它存成 PNG,也得靠它把 PNG 数据读成 image.Image。
如何从文件读取 PNG 并解码为 image.Image
直接调用 png.Decode 即可,但注意它需要一个实现了 io.Reader 的输入源,比如 *os.File 或 bytes.Reader。常见错误是忽略返回的 color.Model(通常可忽略),或没检查错误导致 panic。
示例: