📖
ImGo 中文文档
  • 前言
    • 介绍
    • 坐标轴
    • 支持的格式
    • 更新日志
  • 使用
    • 使用概览
    • 错误处理
  • API
    • Blur
    • Bounds
    • Canvas
    • Circle
    • Color2Hex
    • Crop
    • Ellipse
    • Extension
    • Filesize
    • Flip
    • GaussianBlur
    • Grayscale
    • Height
    • HttpHandler
    • Insert
    • Load
    • LoadFromBase64
    • LoadFromFile
    • LoadFromImage
    • LoadFromImgo
    • LoadFromPath
    • LoadFromUrl
    • Line
    • MainColor
    • Mimetype
    • Mosaic
    • PickColor
    • Pixel
    • Pixelate
    • RadiusBorder
    • Rectangle
    • Resize
    • Rotate
    • Save
    • String
    • Text
    • Thumbnail
    • ToBase64
    • ToImage
    • Width
由 GitBook 提供支持
在本页
  • 基本用法
  • 链式调用(推荐)
  • 非链式调用
  • 读取图像
  • 创建图像
  • 编辑图像
  • 图像输出
  • 输出为文件
  • HTTP响应
  1. 使用

使用概览

基本用法

链式调用(推荐)

链式调用看起来非常简洁。

package main

import "github.com/fishtailstudio/imgo"

func main() {
    imgo.Load("background.png").
        Resize(250, 350).
        Insert("gopher.png", 50, 50).
        Save("out.png")
}

非链式调用

package main

import "github.com/fishtailstudio/imgo"

func main() {
    background := imgo.Load("background.png")
    background.Resize(250, 350)
    background.Insert("gopher.png", 50, 50)
    background.Save("out.png")
}

这个例子和上个例子是等效的。

读取图像

使用 ImGo 读取图像非常简单,你只要调用 imgo.Load() 方法即可。

imgo.Load("gopher.png")

该方法不仅可以读取本地文件,还支持以下输入格式。

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

  • 图片的 URL

  • Base64 编码的图像数据

  • *os.File 类型的文件实例

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

  • *imgo.Image 类型的实例

创建图像

使用 Canvas 方法可以创建一个指定长宽和颜色的画布。

package main

import (
    "awesomeProject/imgo"
    "image/color"
)

func main() {
    imgo.Canvas(500, 500, color.White).
        Save("out.png")
}

编辑图像

使用 Load 或 Canvas 方法获得图像实例后,就可以调用方法编辑图像了。

编辑图像的方法都会返回 *imgo.Image 类型的实例,因此才可以链式的调用。

图像输出

输出为文件

只要调用 Save 方法就可以将编辑好的图像保存为文件。

Save 方法接收一个字符串类型的文件路径参数,可以是绝对路径也可以是相对路径。

该路径参数需要带图像格式后缀,如 out.png 。

ImGo 会根据图像格式后缀输出相应格式的图像,无需其他操作。

支持的图像格式格式如下。

格式
Mimetype

jpg

image/jpeg

png

image/png

bmp

image/x-ms-bmp

tiff

image/tiff

不支持 WEBP 格式的图像输出原因是 golang.org/x/image/webp 包只提供了 Decode 方法,没有提供 Encode 方法。

HTTP响应

ImGo 支持将编辑好的图像直接作为 HTTP 响应,使用方法如下。

package main

import (
    "awesomeProject/imgo"
    "net/http"
)

func main() {
    http.HandleFunc("/gopher", imgo.Load("gopher.png").HttpHandler)
    http.ListenAndServe(":8080", nil)
}

在本机运行上例,在浏览器访问 http://localhost/gopher 将能看到 gopher.png 图像。

上一页更新日志下一页错误处理

最后更新于2年前