Insert

在已有图像上插入一个图像。

参数

参数名
类型
说明

source

interface{}

待插入的图像

x

int

待插入图像左上角坐标 x 轴

y

int

待插入图像左上角坐标 y 轴

source 参数支持以下类型:

支持类型
数据类型

文件系统中图像的绝对路径或相对路径

string[]byte

图片的 URL

string[]byte

Base64 编码的图像数据

string[]byte

*os.File 类型的文件实例

*os.File

实现了 image.Image 接口的类型实例

image.Image 以及实现了 image.Image 接口的类型

*imgo.Image 类型的实例

*imgo.Image

返回值

*imgo.Image 类型的实例。

例子

图像文件路径

package main

import (
    "github.com/fishtailstudio/imgo"
    "image/color"
)

func main() {
    imgo.Canvas(500, 500, color.Black).
        Insert("gopher.png", 100, 100).
        Save("out.png")
}

图像 URL

package main

import (
    "github.com/fishtailstudio/imgo"
    "image/color"
)

func main() {
    url := "https://www.baidu.com/img/flexible/logo/pc/result.png"
    imgo.Canvas(500, 500, color.Black).
        Insert(url, 100, 100).
        Save("out.png")
}

Base64 编码的图像数据

package main

import (
    "github.com/fishtailstudio/imgo"
    "image/color"
)

func main() {
    base64Img := imgo.Load("gopher.png").ToBase64()
    imgo.Canvas(500, 500, color.Black).
        Insert(base64Img, 50, 50).
        Save("out.png")
}

*os.File 类型的文件实例

package main

import (
    "github.com/fishtailstudio/imgo"
    "image/color"
    "os"
)

func main() {
    file, err := os.Open("gopher.png")
    if err != nil {
        panic(err)
    }
    defer file.Close()
    
    imgo.Canvas(500, 500, color.Black).
        Insert(file, 100, 100).
        Save("out.png")
}

实现了 image.Image 接口的类型实例

package main

import (
    "github.com/fishtailstudio/imgo"
    "image/color"
    "image/png"
    "os"
)

func main() {
    file, err := os.Open("gopher.png")
    if err != nil {
        panic(err)
    }
    defer file.Close()
    
    img, err := png.Decode(file)
    if err != nil {
        panic(err)
    }
    
    imgo.Canvas(500, 500, color.Black).
        Insert(img, 100, 100).
        Save("out.png")
}

*imgo.Image 类型的实例

package main

import (
    "github.com/fishtailstudio/imgo"
    "image/color"
)

func main() {
    img := imgo.Load("gopher.png")
    imgo.Canvas(500, 500, color.Black).
        Insert(img, 100, 100).
        Save("out.png")
}

最后更新于