GOで画像処理
透過色にするサンプル。
元画像はプロデュースノートの背景がスクリーンのやつで、左上のピクセルと同じカラーのピクセルを全部透過色にする、みたいなことをしています。
AndroidタブにいれたTermuxで確認しました。
package main import ("os" "image" "image/png" "image/color" "log" ) func main(){ strSrcName := "mayu.png" strDstName := "mayu2.png" fileSrc, err := os.Open(strSrcName) if err != nil{ log.Fatal(err) } defer fileSrc.Close() img,_,err := image.Decode(fileSrc) bounds := img.Bounds() imgDst := image.NewRGBA( image.Rect(0,0,bounds.Max.X,bounds.Max.Y)) colorTransparent := img.At(0,0) for ii := 0; ii < bounds.Max.Y; ii++{ for jj := 0; jj < bounds.Max.X; jj++{ col := img.At(jj, ii) if col == colorTransparent{ imgDst.Set(jj,ii,color.RGBA{0,0,0,0}) }else{ imgDst.Set(jj,ii,col) } } } fileDst,err := os.Create(strDstName) if err != nil{ log.Fatal(err) } defer fileDst.Close() err = png.Encode(fileDst, imgDst) }