Documentation
¶
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func TransformFile ¶
TransformFile creates versions of source based on destinations
Example ¶
sourceImg := "../assets/leica.jpg"
homeDir, _ := os.UserHomeDir()
sourceDir := path.Join(homeDir, "transform")
_ = os.Mkdir(sourceDir, 0755)
//for all but the thumb we are copying the original meta information
thumb := NewOptions(ResizeAndCrop, 400, 400, false)
landscape := NewOptions(ResizeAndCrop, 1200, 628, true)
square := NewOptions(ResizeAndCrop, 1200, 1200, true)
portrait := NewOptions(ResizeAndCrop, 1080, 1350, true)
resize := NewOptions(Resize, 1200, 0, true)
destImgs := map[string]Options{
path.Join(sourceDir, "thumb.jpg"): thumb,
path.Join(sourceDir, "landscape.jpg"): landscape,
path.Join(sourceDir, "square.jpg"): square,
path.Join(sourceDir, "portrait.jpg"): portrait,
path.Join(sourceDir, "resize.jpg"): resize,
}
_ = TransformFile(sourceImg, destImgs)
fmt.Println("Transformed leica.jpg")
Output: Transformed leica.jpg
Types ¶
type CropAnchor ¶
type CropAnchor int
CropAnchor specifies where the anchor point should be when cropping an image
const ( Center CropAnchor = iota TopLeft Top TopRight Left Right BottomLeft Bottom BottomRight )
Various Anchors for your crop
type Options ¶
type Options struct {
Width int
Height int
Quality int
Anchor CropAnchor
Transform TransformType
Strategy ResampleStrategy
CopyExif bool
}
Options holds all options for a given image transformation job
func NewOptions ¶
func NewOptions(transform TransformType, width, height int, copyExif bool) Options
NewOptions creates Options that default to crop center strategy, image quality 90% and Resize strategy lanczos
type ResampleStrategy ¶
type ResampleStrategy int
ResampleStrategy specifies what method to use when resampling an image
const ( //Lanczos sampling. Default Lanczos ResampleStrategy = iota //NearestNeighbor sampling NearestNeighbor //Box sampling Box //Linear sampling Linear //Hermite sampling Hermite //MitchellNetravali sampling MitchellNetravali //CatmullRom sampling CatmullRom //BSpline sampling BSpline //Gaussian sampling Gaussian //Bartlett sampling Bartlett //Hann sampling Hann //Hamming sampling Hamming //Blackman sampling Blackman //Welch sampling Welch //Cosine sampling Cosine )
type TransformType ¶
type TransformType int
TransformType specifies how to transform an image, crop, resize, etc...
const ( //ResizeAndCrop scales the image to given dimension. To keep aspect ratio the image is cropped ResizeAndCrop TransformType = iota //Crop cuts a specified region of the image Crop //Resize scale the image to the specified dimensions. To keep aspect ratio set either width or height to 0 Resize //ResizeAndFit scale the image to fit the maximum specified dimensions. ResizeAndFit )
Click to show internal directories.
Click to hide internal directories.