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.
 
 
 
 
Tomas Aparicio 69ceaab4d8
refactor(docs)
11 years ago
fixtures refactor. feat(test): add fixtures 11 years ago
.editorconfig feat(#1): initial implementation 11 years ago
.gitignore refactor. feat(test): add fixtures 11 years ago
.travis.yml update travis.yaml 11 years ago
LICENSE feat(#1): initial implementation 11 years ago
README.md refactor(docs) 11 years ago
debug.go feat(#1): initial implementation 11 years ago
file.go feat: add file helper 11 years ago
file_test.go feat: add file helper 11 years ago
image.go fix(crop): tests 11 years ago
image_test.go fix(crop): tests 11 years ago
metadata.go fix(crop): tests 11 years ago
options.go fix(crop): tests 11 years ago
resize.go fix(crop): tests 11 years ago
resize_test.go fix(crop): tests 11 years ago
type.go fix(crop): tests 11 years ago
type_test.go feat: support multiple outputs 11 years ago
version.go feat: add version file 11 years ago
vips.go feat: support resize and enlarge images 11 years ago
vips.h feat: support resize and enlarge images 11 years ago

README.md

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

Supported image operations

  • Resize
  • Enlarge
  • Crop
  • Zoom
  • Rotate
  • Flip/Flop
  • Extract area
  • Extract image metadata (size, format, profile, orientation...)
  • 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