Golang可让您使用png.Decode和img.At获得png文件每个像素的RGBA值:
file, _ := os.Open("file.png")
img, err := png.Decode(file)
if err != nil {
log.Fatal(err)
}
for y := 0; y < img.Bounds().Max.Y; y++ {
for x := 0; x < img.Bounds().Max.X; x++ {
color := img.At(x, y)
fmt.Printf("%v", color)
}
}
会返回{91 71 0 255} {91 71 2 255} {92 72 1 255}(...)如何获取每个色号?
答案 0 :(得分:0)
只需像
那样调用RGBAfor y := 0; y < img.Bounds().Max.Y; y++ {
for x := 0; x < img.Bounds().Max.X; x++ {
// color := img.At(x, y)
r,g,b,a := img.At(x, y).RGBA()
// fmt.Printf("%v", color)
fmt.Printf("red %d green %d blue %d alpha %d", r,g,b,a)
}
}