从golang中的索引PNG文件获取像素颜色编号

时间:2019-05-12 21:04:10

标签: go graphics png

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}(...)如何获取每个色号?

1 个答案:

答案 0 :(得分:0)

只需像

那样调用RGBA
for 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)
    }
}

https://blog.golang.org/go-image-package