Image 用Go处理水印图像

Image 用Go处理水印图像,image,image-processing,go,watermark,Image,Image Processing,Go,Watermark,我想找到一些关于制作水印图像的例子,用围棋语言写的 我需要一个用于水印图像的PNG图像,可以应用于其他格式PNG、GIF、JPEG等 我希望你能给我一些实用的例子。如前所述,你可以用image/draw软件包为图像添加水印 下面是一个快速实用的示例,将透明png图像添加到jpeg图像并另存为jpeg: package main import ( "image" "image/draw" "image/jpeg" "image/png" "os" ) f

我想找到一些关于制作水印图像的例子,用围棋语言写的

我需要一个用于水印图像的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()
}
image.jpg:

水印.png:

结果:


有关图像处理,请参阅本文:。有些示例似乎涵盖了您的需求,本质上是将一些图像混合到另一个具有alpha透明度的图像中。