我有以下代碼。這確實(shí)將前景圖像(logo.jpg)粘貼在背景圖像(background.jpg)上,同時(shí)粘貼該前景圖像,我要設(shè)置該前景圖像的不透明度。我使用了DrawMask(http://golang.org/doc/articles/image_draw.html),但似乎這里缺少某些內(nèi)容。請(qǐng)參見(jiàn)下面的代碼。有人有主意嗎?package main import ( "os" "image/draw" "image" "image/jpeg")func main() {//Background image fImg1, _ := os.Open("background.jpg") defer fImg1.Close() img1, _, _ := image.Decode(fImg1)//Logo to stick over background image fImg2, _ := os.Open("logo.jpg") defer fImg2.Close() img2, _, _ := image.Decode(fImg2)//Mask image (that is just a solid light gray image of same size as logo) fmask, _ := os.Open("mask.jpg") defer fImg2.Close() mask, _, _ := image.Decode(fmask)//Create a new blank image m m := image.NewRGBA(image.Rect(0, 0, 1920, 1280))//Paste background image over m draw.Draw(m, m.Bounds(), img1, image.Point{0,0}, draw.Src)//Now paste logo image over m using a mask (ref. http://golang.org/doc/articles/image_draw.html )//******Goal is to have opacity value 50 of logo image, when we paste it**** draw.DrawMask(m, m.Bounds(), img2, image.Point{-100,-100}, mask, image.Point{-100,-100}, draw.Src) toimg, _ := os.Create("new.jpg") defer toimg.Close() jpeg.Encode(toimg, m, &jpeg.Options{jpeg.DefaultQuality})}上面的代碼由Sathish(http://stackoverflow.com/questions/12430874/image-manipulation-in-golang)幫助。謝謝Sathish。
在Golang中設(shè)置圖像的不透明度
三國(guó)紛爭(zhēng)
2021-05-13 09:33:36