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.
69 lines
1.8 KiB
69 lines
1.8 KiB
# bimg [](https://travis-ci.org/h2non/bimg) []() [](https://godoc.org/github.com/h2non/bimg)
|
|
|
|
Go library for blazing fast image processing based on [libvips](https://github.com/jcupitt/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](https://github.com/lovell/sharp), a great node.js package for image processing build by [Lovell Fuller](https://github.com/lovell).
|
|
|
|
`Work in progress`
|
|
|
|
## Prerequisites
|
|
|
|
- [libvips](https://github.com/jcupitt/libvips) v7.40.0+ (7.42.0+ recommended)
|
|
- C++11 compatible compiler such as gcc 4.6+ or clang 3.0+
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
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):
|
|
```bash
|
|
curl -s https://raw.githubusercontent.com/lovell/sharp/master/preinstall.sh | sudo bash -
|
|
```
|
|
|
|
The [install script](https://github.com/lovell/sharp/blob/master/preinstall.sh) 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
|
|
|
|
```go
|
|
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
|