resigif

package module
v0.0.0-...-a33dca4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 12, 2024 License: MIT Imports: 9 Imported by: 0

README

resigif

Animated GIF resizing library w/o cgo nor any third-party Libraries

Documentation

Overview

Package resigif is an Animated GIF resizing library w/o cgo nor any third-party Libraries

Index

Constants

View Source
const (
	// Ignore ignores aspect ratio
	Ignore aspectRatioOption = iota
	// Maintain maintains aspect ratio
	Maintain
)

Variables

This section is empty.

Functions

func Resize

func Resize(ctx context.Context, src *gif.GIF, width, height int, opts ...Option) (*gif.GIF, error)

Resize resizes an animated GIF image

Returned error is either context error or error from ImageResizeFunc

Types

type ImageResizeFunc

type ImageResizeFunc func(src *image.NRGBA, width, height int) (dst *image.NRGBA, err error)

ImageResizeFunc resizes a single image

ImageResizeFunc can assume that src image is aligned to (0, 0) point

func FromDrawScaler

func FromDrawScaler(scaler draw.Scaler) ImageResizeFunc

FromDrawScaler converts draw.Scaler to ImageResizeFunc

draw.Interpolator / *draw.Kernel can be used as draw.Scaler

type Option

type Option func(*processor)

Option is option for GIF resizing1

func WithAspectRatio

func WithAspectRatio(aspectRatio aspectRatioOption) Option

WithAspectRatio sets aspect ratio option

default: Maintain

func WithImageResizeFunc

func WithImageResizeFunc(resizeFunc ImageResizeFunc) Option

WithImageResizeFunc sets image resize function

default: using draw.CatmullRom

func WithParallel

func WithParallel(limit int) Option

WithParallel sets limit of parallel processing threads

ignores limit if limit <= 0
default: runtime.NumCPU()

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL