我想找一些关于制作水印图片的例子,用Go语言写的!
我需要一个PNG图片作为水印图片,可以应用于其他格式PNG、GIF、JPEG等,
希望你能给我一些实际的例子。
最佳答案
如前所述,您可以使用 image/draw 包为图像添加水印。
这是一个快速实用的示例,将透明 png 图像添加到 jpeg 图像并保存为 jpeg:
package main
import (
"image"
"image/draw"
"image/jpeg"
"image/png"
"os"
)
func main() {
imgb, _ := os.Open("image.jpg")
img, _ := jpeg.Decode(imgb)
defer imgb.Close()
wmb, _ := os.Open("watermark.png")
watermark, _ := png.Decode(wmb)
defer wmb.Close()
offset := image.Pt(200, 200)
b := img.Bounds()
m := image.NewRGBA(b)
draw.Draw(m, b, img, image.ZP, draw.Src)
draw.Draw(m, watermark.Bounds().Add(offset), watermark, image.ZP, draw.Over)
imgw, _ := os.Create("watermarked.jpg")
jpeg.Encode(imgw, m, &jpeg.Options{jpeg.DefaultQuality})
defer imgw.Close()
}
图片.jpg:
水印.png:
结果:
关于image - 使用 Go 处理水印图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16100023/