Skip to content

Latest commit

 

History

History
96 lines (71 loc) · 2.23 KB

README.md

File metadata and controls

96 lines (71 loc) · 2.23 KB

Tinify API client for Golang

📖 国内的朋友看这里


Golang client for the Tinify API, used for TinyPNG and TinyJPG. Tinify compresses or resize your images intelligently. Read more at http://tinify.com.

Documentation

Go to the documentation for the HTTP client.

Installation

Install the API client with go get.

go get -u github.com/gwpp/tinify-go

Usage

  • About key

    Get your API key from https://tinypng.com/developers

  • Compress

    func TestCompressFromFile(t *testing.T) {
        Tinify.SetKey(Key)
        source, err := Tinify.FromFile("./test.jpg")
        if err != nil {
            t.Error(err)
            return
        }
    
        err = source.ToFile("./test_output/CompressFromFile.jpg")
        if err != nil {
            t.Error(err)
            return
        }
        t.Log("Compress successful")
    }
  • Resize

    func TestResizeFromBuffer(t *testing.T) {
        Tinify.SetKey(Key)
    
        buf, err := ioutil.ReadFile("./test.jpg")
        if err != nil {
            t.Error(err)
            return
        }
        source, err := Tinify.FromBuffer(buf)
        if err != nil {
            t.Error(err)
            return
        }
    
        err = source.Resize(&Tinify.ResizeOption{
            Method: Tinify.ResizeMethodScale,
            Width:  200,
        })
        if err != nil {
            t.Error(err)
            return
        }
    
        err = source.ToFile("./test_output/ResizesFromBuffer.jpg")
        if err != nil {
            t.Error(err)
            return
        }
        t.Log("Resize successful")
    }
  • Notice:

    Tinify.ResizeMethod support scale, fit and cover. If used fit or cover, you must provide both a width and a height. But used scale, you must provide either a target width or a target height, but not both.

  • More usage, please see tinify_test.go

Running tests

cd $GOPATH/src/github.com/gwpp/tinify-go
go test

License

This software is licensed under the MIT License. View the license.