filters.go | ||
LICENSE | ||
README.md | ||
resize_test.go | ||
resize.go | ||
sinc_test.go | ||
sinc.go |
Resize
Image resizing for the Go programming language that includes a few interpolation methods.
Installation
$ go get github.com/nfnt/resize
It's that easy!
Usage
Import package with
import "github.com/nfnt/resize"
Resize creates a scaled image with new dimensions (width, height) using the interpolation function interp.
resize.Resize(width, height int, img image.Image, interp resize.InterpolationFunction) image.Image, error
The provided interpolation functions are
NearestNeighbor
: Nearest-neighbor interpolationBilinear
: Bilinear interpolationBicubic
: Bicubic interpolationLanczos3
: Lanczos resampling with a=3
Sample usage:
package main
import (
"github.com/nfnt/resize"
"image/jpeg"
"os"
)
func main() {
// open "test.jpg"
file, err := os.Open("test.jpg")
if err != nil {
return
}
// decode jpeg into image.Image
img, err := jpeg.Decode(file)
if err != nil {
return
}
file.Close()
// resize to width 1000 using Lanczos resampling
m, err := resize.Resize(1000, -1, img, resize.Lanczos3)
if err != nil {
return
}
out, err := os.Create("test_resized.jpg")
if err != nil {
return
}
defer out.Close()
// write new image to file
jpeg.Encode(out, m, nil)
}
License
Copyright (c) 2012 Jan Schlicht janschlicht@gmail.com Resize is released under an MIT style license.