You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.8 KiB

bimg Build Status GitHub release GoDoc

Go library for blazing fast image processing based on libvips using C bindings.

libvips is typically 4x faster than using the quickest ImageMagick and GraphicsMagick settings, and even 8x faster with JPEG format. It support JPEG, PNG, WEBP, TIFF and Magick image formats.

bimg was heavily inspired in sharp, a great node.js package for image processing build by Lovell Fuller.

Work in progress

Prerequisites

  • libvips v7.40.0+ (7.42.0+ recommended)
  • C++11 compatible compiler such as gcc 4.6+ or clang 3.0+

Installation

go get gopkg.in/h2non/bimg.v0

Requires Go 1.3+

libvips

Run the following script as sudo (supports OSX, Debian/Ubuntu, Redhat, Fedora, Amazon Linux):

curl -s https://raw.githubusercontent.com/lovell/sharp/master/preinstall.sh | sudo bash -

The install script requires curl and pkg-config.

Image operations

  • Resize
  • Crop
  • Enlarge
  • Zoom
  • Rotate by degrees
  • Flip/Flop
  • Extract area
  • Extract image metadata
  • Image conversion to multiple formats

API

import (
  "fmt"
  "os"
  "gopkg.in/h2non/bimg"
)

options := bimg.Options{
    Width:        800,
    Height:       600,
    Crop:         true,
    Quality:      95,
}

newImage, err := bimg.Resize(image, options)
if err != nil {
  fmt.Fprintln(os.Stderr, err)
}

License

MIT - Tomas Aparicio