Download the PHP package felixarntz/terminal-image without Composer
On this page you can find all versions of the php package felixarntz/terminal-image. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download felixarntz/terminal-image
More information about felixarntz/terminal-image
Files in felixarntz/terminal-image
Package terminal-image
Short Description A PHP port of the popular JavaScript library of the same name, enabling the display of images directly in the terminal.
License MIT
Homepage https://github.com/felixarntz/terminal-image
Informations about the package terminal-image
Terminal Image (PHP)
A PHP port of the popular JavaScript library of the same name, enabling the display of images directly in the terminal using ANSI escape sequences.
- Supports JPEG, PNG, WebP, and any other format supported by PHP's GD library.
- Works in any terminal that supports colors.
- Requires PHP >= 7.4 with the GD extension.
Installation
Usage
From a file path:
From a binary string (e.g. an HTTP response body):
Scaling
By default, images are scaled to fit within the terminal window while preserving their aspect ratio.
Set a specific width in columns; height is derived from the aspect ratio:
Set a specific height in rows; width is derived from the aspect ratio:
Use a percentage of the terminal size:
Set both dimensions; the image is scaled to fit within the box:
Disable aspect ratio preservation to stretch to exact dimensions:
API
TerminalImage::file(string $filePath, array $options = []): string
Renders an image from a file path as a string of ANSI escape sequences.
$filePath— Absolute or relative path to the image file.$options— Optional associative array of options (see below).
Throws InvalidArgumentException if the file does not exist, cannot be read, or contains invalid image data.
TerminalImage::buffer(string $data, array $options = []): string
Renders an image from a binary string as a string of ANSI escape sequences.
$data— Binary string of image data.$options— Optional associative array of options (see below).
Throws InvalidArgumentException if the data is not a valid image.
Options
| Key | Type | Default | Description |
|---|---|---|---|
width |
int or string |
— | Target width in columns, or a percentage string (e.g. '50%') relative to the terminal width. |
height |
int or string |
— | Target height in rows, or a percentage string (e.g. '50%') relative to the terminal height. |
preserveAspectRatio |
bool |
true |
Whether to preserve the aspect ratio when both width and height are provided. |
When neither width nor height is provided, the image is scaled to fit within the terminal dimensions.
Credit
Major credit goes to @sindresorhus, who created the original terminal-image JavaScript library.
License
MIT
All versions of terminal-image with dependencies
ext-gd Version *