No description
Find a file
2015-04-06 02:59:29 +02:00
fixtures refactor. feat(test): add fixtures 2015-04-04 16:12:45 +02:00
.editorconfig feat(#1): initial implementation 2015-03-29 22:55:04 +02:00
.gitignore refactor. feat(test): add fixtures 2015-04-04 16:12:45 +02:00
.travis.yml update travis.yaml 2015-04-03 01:23:56 +02:00
debug.go feat(#1): initial implementation 2015-03-29 22:55:04 +02:00
file.go feat: add file helper 2015-04-06 00:23:25 +02:00
file_test.go feat: add file helper 2015-04-06 00:23:25 +02:00
image.go fix(crop): tests 2015-04-06 02:59:29 +02:00
image_test.go fix(crop): tests 2015-04-06 02:59:29 +02:00
LICENSE feat(#1): initial implementation 2015-03-29 22:55:04 +02:00
metadata.go fix(crop): tests 2015-04-06 02:59:29 +02:00
options.go fix(crop): tests 2015-04-06 02:59:29 +02:00
README.md fix(crop): tests 2015-04-06 02:59:29 +02:00
resize.go fix(crop): tests 2015-04-06 02:59:29 +02:00
resize_test.go fix(crop): tests 2015-04-06 02:59:29 +02:00
type.go fix(crop): tests 2015-04-06 02:59:29 +02:00
type_test.go feat: support multiple outputs 2015-04-05 23:39:15 +02:00
version.go feat: add version file 2015-03-26 19:21:04 +01:00
vips.go feat: support resize and enlarge images 2015-04-06 02:04:10 +02:00
vips.h feat: support resize and enlarge images 2015-04-06 02:04:10 +02:00

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