aspeq

aspeq finds the closest "standard" aspect ratio from an image file, or from relative or absolute dimensions (width and height)

defined ratios

command line

$ aspeq *.jpeg
1.66.jpeg: super16
1.77.jpeg: sixteen-nine
2.35.jpeg: cinemascope

$ aspeq -x 1.66.jpeg
1.66.jpeg: 5:3

$ aspeq -o 1.66.jpeg
1.66.jpeg: landscape

$ aspeq -l # lists available aspect ratios

slasher lets you crop images to a specific aspect ratio

$ slasher -o leica.jpg -a leica super16.jpg
$ slasher -q 1 -o leica.jpg -a leica super16.jpg # low quality jpeg
$ slasher -o closest.jpg weird.jpg # crop to closest aspect ratio
$ slasher -a cinerama cat.jpg # prints cinerama dimensions
1600x617
$ slasher -l # lists available aspect ratios

go

// match ratio from dimensions
ratio := aspeq.Match(320, 240)
fmt.Println(ratio.Xy()) // prints "4:3"
fmt.Println(ratio.Name) // prints "four-thirds"

// analyze images
ar, err := aspeq.FromPath("1.66.jpeg") // a 40:24 image
if err != nil {
  panic(err)
}
fmt.Println(ar.Name) // prints "super16"

// custom aspect ratios
aspeq.Register("ticker", 7, 1)

// crop image to a specific aspect ratio
cropped, err := aspeq.CropPath("1.66.jpeg", aspeq.Square)
if err != nil {
  panic(err)
}

author

蜂谷栗栖