梦里花落0921
该image.RGBA类型是在内存中存储的图像,如果你想修改它们的首选方式。它实现了draw.Image接口,该接口具有设置像素的便捷方法:Set(x, y int, c color.Color)不幸的是,并非所有解码器都以 RGBA 格式返回图像。他们中的一些人以压缩格式保留图像,其中并非每个像素都可以修改。对于许多只读用例来说,这更快更好。但是,如果要编辑图像,则可能需要复制它。例如:src, _, err := image.Decode(file)if err != nil { log.Fatal(err)}rgba, ok := src.(*image.RGBA)if !ok { b := src.Bounds() rgba = image.NewRGBA(image.Rect(0, 0, b.Dx(), b.Dy())) draw.Draw(rgba, rgba.Bounds(), src, b.Min, draw.Src)}// rgba is now a *image.RGBA and can be modified freelyrgba.Set(0, 0, color.RGBA{255, 0, 0, 255})