第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在Golang中設(shè)置圖像的不透明度

在Golang中設(shè)置圖像的不透明度

Go
三國(guó)紛爭(zhēng) 2021-05-13 09:33:36
我有以下代碼。這確實(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。
查看完整描述

2 回答

?
喵喵時(shí)光機(jī)

TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊

我發(fā)現(xiàn)您的代碼有兩個(gè)錯(cuò)誤。

  1. 您未正確設(shè)置遮罩。要獲得50%的不透明度,您需要使用類似mask := image.NewUniform(color.Alpha{128})128介于0(透明)和255(不透明)之間的方式。如果您希望不透明度超過(guò)256級(jí),請(qǐng)參閱color.Alpha16。

  2. 打電話時(shí)draw.DrawMask(),您很可能想使用draw.OverOp而不是draw.Src。嘗試一下它們,您應(yīng)該會(huì)發(fā)現(xiàn)區(qū)別。

我也建議使用m := image.NewRGBA(img1.Bounds()),但是手動(dòng)進(jìn)行操作并沒(méi)有錯(cuò)。


查看完整回答
反對(duì) 回復(fù) 2021-05-17
  • 2 回答
  • 0 關(guān)注
  • 410 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)