Golang image.Rectangle type and Rect function example
package image
type Rectangle struct {
Min, Max Point
}
A Rectangle contains the points with Min.X <= X < Max.X, Min.Y <= Y < Max.Y. It is well-formed if Min.X <= Max.X and likewise for Y. Points are always well-formed. A rectangle's methods always return well-formed outputs for well-formed inputs.
Golang image.Rectangle type and Rect function usage example
package main
import (
"fmt"
"github.com/disintegration/imaging"
"image"
"os"
"runtime"
)
func main() {
// maximize CPU usage for maximum performance
runtime.GOMAXPROCS(runtime.NumCPU())
// load original image
img, err := imaging.Open("./big.jpg")
if err != nil {
fmt.Println(err)
os.Exit(1)
}
// crop from center
centercropimg := imaging.CropCenter(img, 300, 300)
// save cropped image
err = imaging.Save(centercropimg, "./centercrop.jpg")
if err != nil {
fmt.Println(err)
os.Exit(1)
}
// define a rectangle
rect := image.Rect(0, 0, 500, 500) <--------------- here
fmt.Println("Min X : ", rect.Min.X)
fmt.Println("Max X : ", rect.Max.X)
// crop out a rectangular region
rectcropimg := imaging.Crop(img, image.Rect(0, 0, 500, 500))
// save cropped image
err = imaging.Save(rectcropimg, "./rectcrop.jpg")
if err != nil {
fmt.Println(err)
os.Exit(1)
}
// everything ok
fmt.Println("Done")
}
Output :
Min X : 0
Max X : 500
Done
References :
Advertisement
Something interesting
Tutorials
+19.4k Golang : Fix cannot download, $GOPATH not set error
+13.4k Golang : error parsing regexp: invalid or unsupported Perl syntax
+7.8k Golang : Reverse a string with unicode
+21.1k Golang : Get password from console input without echo or masked
+5.9k Golang : Shuffle array of list
+6.9k Golang : Fibonacci number generator examples
+9.1k Golang : io.Reader causing panic: runtime error: invalid memory address or nil pointer dereference
+17k Golang : Covert map/slice/array to JSON or XML format
+8.9k Golang : What is the default port number for connecting to MySQL/MariaDB database ?
+13.7k Golang : Tutorial on loading GOB and PEM files
+11.9k Golang : How to parse plain email text and process email header?