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.