mirror of https://github.com/talgo-cloud/bimg.git
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.
|
|
11 years ago | |
|---|---|---|
| fixtures | 11 years ago | |
| .editorconfig | 11 years ago | |
| .gitignore | 11 years ago | |
| .travis.yml | 11 years ago | |
| LICENSE | 11 years ago | |
| README.md | 11 years ago | |
| debug.go | 11 years ago | |
| file.go | 11 years ago | |
| file_test.go | 11 years ago | |
| image.go | 11 years ago | |
| image_test.go | 11 years ago | |
| metadata.go | 11 years ago | |
| options.go | 11 years ago | |
| resize.go | 11 years ago | |
| resize_test.go | 11 years ago | |
| type.go | 11 years ago | |
| type_test.go | 11 years ago | |
| version.go | 11 years ago | |
| vips.go | 11 years ago | |
| vips.h | 11 years ago | |
README.md
bimg

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