在高浪中,當(dāng)像素值帶有 alpha 值時(shí),會(huì)導(dǎo)致顏色值發(fā)生變化。我在python中嘗試了相同的代碼。沒(méi)關(guān)系!這是高浪腳本:newRgba := image.NewRGBA(image.Rect(0, 0, 1, 1)) //new imagenewRgba.SetRGBA(0, 0, color.RGBA{R: 55, G: 23, B: 14, A: 122}) // set pixel valuef, _ := os.Create("./save.png")defer f.Close()// save imagepng.Encode(f, newRgba)ff, _ := ioutil.ReadFile("./save.png") //read imagebbb := 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 Imageimg = Image.new('RGBA', (1, 1), (55, 23, 14,122)) # set pixel valueimg.save('bg.png')im = Image.open('bg.png')pix = im.load()print(pix[0,0]) // get (55, 23, 14, 122)為什么在高浪獲得的結(jié)果會(huì)改變?
為什么選擇高朗編碼方法使顏色數(shù)據(jù)出錯(cuò)?
慕的地8271018
2022-10-04 15:51:55