ansimage

package
v1.2.4 Latest Latest
Warning

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

Go to latest
Published: Jul 3, 2018 License: MPL-2.0 Imports: 17 Imported by: 0

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 - http://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 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 added in v1.2.4

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 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 added in v1.2.4

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 added in v1.2.1

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) 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. (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.

type DitheringMode added in v1.2.1

type DitheringMode uint8

DitheringMode type is used for image scale dithering mode constants.

type ScaleMode added in v1.2.1

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