Go to file
2012-08-06 21:53:26 +02:00
.DS_Store fixed typo, thanks liuben 2012-08-06 21:49:02 +02:00
filters.go initial commit 2012-08-02 21:59:40 +02:00
LICENSE Documentation updated 2012-08-03 17:39:38 +02:00
README.md Merge branch 'master' of https://github.com/nfnt/resize 2012-08-06 21:53:26 +02:00
resize_test.go Tests added 2012-08-03 18:12:26 +02:00
resize.go fixed typo, thanks liuben 2012-08-06 21:49:02 +02:00
sinc_test.go initial commit 2012-08-02 21:59:40 +02:00
sinc.go initial commit 2012-08-02 21:59:40 +02:00

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 (w,h) using the interpolation function interp.

resize.Resize(w int, h int, img image.Image, interp resize.InterpolationFunction) image.Image 

The provided interpolation functions are

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 := resize.Resize(1000, -1, img, resize.Lanczos3)

	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.