ansimage

package
v1.3.1 Latest Latest
Warning

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

Go to latest
Published: Dec 27, 2019 License: MPL-2.0 Imports: 17 Imported by: 47

Documentation

Index

Constants

View Source
const (
	ScaleModeResize = ScaleMode(iota)
	ScaleModeFill
	ScaleModeFit
)

ANSImage scale modes: resize (full scaled to area), fill (resize and crop the image with a center anchor point to fill area), fit (resize the image to fit area, preserving the aspect ratio).

View Source
const (
	NoDithering = DitheringMode(iota)
	DitheringWithBlocks
	DitheringWithChars
)

ANSImage dithering modes: no dithering (classic mode: half block based), chars (use characters to represent brightness), blocks (use character blocks to represent brightness).

View Source
const (
	BlockSizeY = 8
	BlockSizeX = 4
)

ANSImage block size in pixels (dithering mode)

Variables

View Source
var (
	// ErrImageDownloadFailed occurs in the attempt to download an image and the status code of the response is not "200 OK".
	ErrImageDownloadFailed = errors.New("ANSImage: image download failed")

	// ErrHeightNonMoT occurs when ANSImage height is not a Multiple of Two value.
	ErrHeightNonMoT = errors.New("ANSImage: height must be a Multiple of Two value")

	// ErrInvalidBoundsMoT occurs when ANSImage height or width are invalid values (Multiple of Two).
	ErrInvalidBoundsMoT = errors.New("ANSImage: height or width must be >=2")

	// ErrOutOfBounds occurs when ANSI-pixel coordinates are out of ANSImage bounds.
	ErrOutOfBounds = errors.New("ANSImage: out of bounds")
)

Functions

func ClearTerminal

func ClearTerminal()

ClearTerminal clears current terminal buffer using ANSI escape code. (Nice info for ANSI escape codes - https://unix.stackexchange.com/questions/124762/how-does-clear-command-work)

Types

type ANSImage

type ANSImage struct {
	// contains filtered or unexported fields
}

ANSImage represents an image encoded in ANSI escape codes.

func New

func New(h, w int, bg color.Color, dm DitheringMode) (*ANSImage, error)

New creates a new empty ANSImage ready to draw on it.

func NewFromFile

func NewFromFile(name string, bg color.Color, dm DitheringMode) (*ANSImage, error)

NewFromFile creates a new ANSImage from a file. Background color is used to fill when image has transparency or dithering mode is enabled. Dithering mode is used to specify the way that ANSImage render ANSI-pixels (char/block elements).

func NewFromImage

func NewFromImage(image image.Image, bg color.Color, dm DitheringMode) (*ANSImage, error)

NewFromImage creates a new ANSImage from an image.Image. Background color is used to fill when image has transparency or dithering mode is enabled. Dithering mode is used to specify the way that ANSImage render ANSI-pixels (char/block elements).

func NewFromReader

func NewFromReader(reader io.Reader, bg color.Color, dm DitheringMode) (*ANSImage, error)

NewFromReader creates a new ANSImage from an io.Reader. Background color is used to fill when image has transparency or dithering mode is enabled. Dithering mode is used to specify the way that ANSImage render ANSI-pixels (char/block elements).

func NewFromURL

func NewFromURL(url string, bg color.Color, dm DitheringMode) (*ANSImage, error)

NewFromURL creates a new ANSImage from an image URL. Background color is used to fill when image has transparency or dithering mode is enabled. Dithering mode is used to specify the way that ANSImage render ANSI-pixels (char/block elements).

func NewScaledFromFile

func NewScaledFromFile(name string, y, x int, bg color.Color, sm ScaleMode, dm DitheringMode) (*ANSImage, error)

NewScaledFromFile creates a new scaled ANSImage from a file. Background color is used to fill when image has transparency or dithering mode is enabled. Dithering mode is used to specify the way that ANSImage render ANSI-pixels (char/block elements).

func NewScaledFromImage

func NewScaledFromImage(image image.Image, y, x int, bg color.Color, sm ScaleMode, dm DitheringMode) (*ANSImage, error)

NewScaledFromImage creates a new scaled ANSImage from an image.Image. Background color is used to fill when image has transparency or dithering mode is enabled. Dithering mode is used to specify the way that ANSImage render ANSI-pixels (char/block elements).

func NewScaledFromReader

func NewScaledFromReader(reader io.Reader, y, x int, bg color.Color, sm ScaleMode, dm DitheringMode) (*ANSImage, error)

NewScaledFromReader creates a new scaled ANSImage from an io.Reader. Background color is used to fill when image has transparency or dithering mode is enabled. Dithering mode is used to specify the way that ANSImage render ANSI-pixels (char/block elements).

func NewScaledFromURL

func NewScaledFromURL(url string, y, x int, bg color.Color, sm ScaleMode, dm DitheringMode) (*ANSImage, error)

NewScaledFromURL creates a new scaled ANSImage from an image URL. Background color is used to fill when image has transparency or dithering mode is enabled. Dithering mode is used to specify the way that ANSImage render ANSI-pixels (char/block elements).

func (*ANSImage) DitheringMode

func (ai *ANSImage) DitheringMode() DitheringMode

DitheringMode gets the dithering mode of ANSImage.

func (*ANSImage) Draw

func (ai *ANSImage) Draw()

Draw writes the ANSImage to standard output (terminal).

func (*ANSImage) DrawExt

func (ai *ANSImage) DrawExt(renderGoCode, disableBgColor bool)

DrawExt writes the ANSImage to standard output (terminal). Can specify if it prints in form of Go code 'fmt.Printf()'. Can specify if background color will be disabled in dithering mode.

func (*ANSImage) GetAt

func (ai *ANSImage) GetAt(y, x int) (*ANSIpixel, error)

GetAt gets ANSI-pixel in coordinates (y,x).

func (*ANSImage) GetMaxProcs

func (ai *ANSImage) GetMaxProcs() int

GetMaxProcs gets the maximum number of parallels goroutines to render the ANSImage.

func (*ANSImage) Height

func (ai *ANSImage) Height() int

Height gets total rows of ANSImage.

func (*ANSImage) Render

func (ai *ANSImage) Render() string

Render returns the ANSI-compatible string form of ANSImage.

func (*ANSImage) RenderExt

func (ai *ANSImage) RenderExt(renderGoCode, disableBgColor bool) string

RenderExt returns the ANSI-compatible string form of ANSImage. Can specify if it renders in form of Go code 'fmt.Printf()'. Can specify if background color will be disabled in dithering mode. (Nice info for ANSI True Colour - https://gist.github.com/XVilka/8346728)

func (*ANSImage) SetAt

func (ai *ANSImage) SetAt(y, x int, r, g, b, brightness uint8) error

SetAt sets ANSI-pixel color (RBG) and brightness in coordinates (y,x).

func (*ANSImage) SetMaxProcs

func (ai *ANSImage) SetMaxProcs(max int)

SetMaxProcs sets the maximum number of parallel goroutines to render the ANSImage (user should manually sets `runtime.GOMAXPROCS(max)` before to this change takes effect).

func (*ANSImage) Width

func (ai *ANSImage) Width() int

Width gets total columns of ANSImage.

type ANSIpixel

type ANSIpixel struct {
	Brightness uint8
	R, G, B    uint8
	// contains filtered or unexported fields
}

ANSIpixel represents a pixel of an ANSImage.

func (*ANSIpixel) Render

func (ap *ANSIpixel) Render() string

Render returns the ANSI-compatible string form of ANSI-pixel.

func (*ANSIpixel) RenderExt

func (ap *ANSIpixel) RenderExt(renderGoCode, disableBgColor bool) string

RenderExt returns the ANSI-compatible string form of ANSI-pixel. Can specify if it renders in form of Go code 'fmt.Printf()'. Can specify if background color will be disabled in dithering mode.

type DitheringMode

type DitheringMode uint8

DitheringMode type is used for image scale dithering mode constants.

type ScaleMode

type ScaleMode uint8

ScaleMode type is used for image scale mode constants.

Jump to

Keyboard shortcuts

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