renderImageToAnsi function
Renders an image to ANSI terminal escape sequences using the best available image protocol.
Returns the escape sequence string, or null if rendering failed.
Implementation
String? renderImageToAnsi(
img.Image image,
ImageProtocol protocol, {
int? columns,
int? rows,
}) {
switch (protocol) {
case ImageProtocol.kitty:
return KittyImage.encode(image, columns: columns, rows: rows);
case ImageProtocol.iterm2:
return ITerm2Image.encode(image, columns: columns, rows: rows);
case ImageProtocol.sixel:
if (columns != null || rows != null) {
return SixelImage.encodeResized(
image,
columns: columns ?? image.width,
rows: rows ?? _defaultMaxRows,
);
}
return SixelImage.encode(image);
case ImageProtocol.halfblock:
return _renderHalfBlock(image, columns: columns ?? 40, rows: rows ?? 20);
case ImageProtocol.none:
return null;
}
}