Golang 에서 이미지 반투명 효과 넣기

고양체 고양이

(위 이미지에서 반투명은 우상단 워터마크부분임)

지인이랑 폰트 저작권 이야기 하다가 사용하던 고양체 라이센스가 생각나서 검색해봄.
고양체 : http://www.goyang.go.kr/www/www05/www05_3/www05_3_6/www05_3_6_tab1.jsp

그러다 알게 된게 고양체에 저렇게 많은 고양이 이미지가 있다는걸 알고서 전에 만든 Watermark 자동화툴을 수정함.
수정하다가 몇가지 수정했는데 그중 하나인 이미지 반투명 처리하기를 여기에 정리해둠.

//반투명 처리할 이미지 크기만큼의 마스크를 만든다.
mask:= image.NewAlpha(tmpTextCatImage.Bounds())
for y:=0; y<tmpTextCatImage.Bounds().Dy(); y++{
	for x:=0; x<tmpTextCatImage.Bounds().Dx(); x++{
		//반투명값으로 128을 준다 (맥스가 255)
		mask.SetAlpha(x, y, color.Alpha{128}) 
	}
} 
pos := image.Rectangle{	image.Point{0,0},
						image.Point{tmpTextCatImage.Bounds().Dx(), tmpTextCatImage.Bounds().Dy()}}
draw.DrawMask(tmpImage, pos, tmpTextCatImage, image.ZP,mask,image.ZP, draw.Over)

간단하지만 마스크로 지정된 부분의 알파값을 참조해서 이미지가 반영됨.

크리에이티브 커먼즈 라이선스 Linsoo 의 저작물인 이 저작물은(는) 크리에이티브 커먼즈 저작자표시-동일조건변경허락 4.0 국제 라이선스 에 따라 이용할 수 있습니다.

댓글 남기기

이메일은 공개되지 않습니다.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.