在高浪中,当像素值带有 alpha 值时,会导致颜色值发生变化。我在python中尝试了相同的代码。没关系!
这是高浪脚本:
newRgba := image.NewRGBA(image.Rect(0, 0, 1, 1)) //new image
newRgba.SetRGBA(0, 0, color.RGBA{R: 55, G: 23, B: 14, A: 122}) // set pixel value
f, _ := os.Create("./save.png")
defer f.Close()
// save image
png.Encode(f, newRgba)
ff, _ := ioutil.ReadFile("./save.png") //read image
bbb := bytes.NewBuffer(ff)
m, _, _ := image.Decode(bbb)
R, G, B, A := m.At(0, 0).RGBA()
fmt.Println(R>>8,
G>>8,
B>>8,
A>>8,
) // get {55 23 13 122} , it is wrong! Why not {55 23 14 122} ?
这是蟒蛇脚本:
from PIL import Image
img = Image.new('RGBA', (1, 1), (55, 23, 14,122)) # set pixel value
img.save('bg.png')
im = Image.open('bg.png')
pix = im.load()
print(pix[0,0]) // get (55, 23, 14, 122)
为什么在高浪获得的结果会改变?
慕的地8271018
慕标5832272
随时随地看视频慕课网APP
相关分类