awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
hpjansson avatar

hpjansson/chafa

0
View on GitHub↗
4,264 星标·91 分支·C·lgpl-3.0·3 次浏览hpjansson.org/chafa↗

Chafa

Chafa is a terminal graphics library that converts images and animated GIFs into character art for display in terminal emulators. It supports multiple output formats including ANSI escape sequences, Sixel graphics, and Unicode block characters, making it a versatile tool for rendering images directly within the terminal environment.

The library is built as a shared C library with official bindings for Python and JavaScript, allowing developers to integrate terminal image rendering capabilities into applications across different programming environments. Chafa handles the full pipeline from image loading and canvas-based pixel processing through to output generation, with support for animated GIF playback, hardware acceleration detection, and automatic terminal capability detection to select the most compatible rendering mode.

Beyond its core conversion functionality, Chafa provides fine-grained control over rendering quality through dithering adjustment, pixel format selection, and canvas geometry calculation. It also manages terminal integration details such as querying terminal capabilities, handling terminal-specific quirks, and controlling Sixel scrolling behavior, while offering direct cell-level read and write access to rendered canvases for custom manipulation.

Features

  • ANSI Image Converters - Converts images and animated GIFs into ANSI, Sixel, or Unicode character art for terminal display.
  • Terminal Graphics Library Integration - Converts images and animated GIFs into ANSI, Sixel, and Unicode character art for display in terminal emulators.
  • Terminal Image Renderers - Displaying images and animated GIFs as ANSI, Sixel, or Unicode character art directly in terminal emulators.
  • Terminal Graphics Converters - Provides a C library API for converting images into terminal character art programmatically.
  • Sixel Renderers - Converts images into Sixel graphics for display in terminal emulators.
  • Multi-Format Output Renderers - Generates ANSI, Sixel, and Unicode escape sequences from a unified rendering pipeline.
  • Image File Loading - Loads one raster frame of image data into memory for processing and display.
  • Quality Tuning - Adjusts dithering, color reduction, and other rendering parameters to control the visual fidelity of the generated character art.
  • Symbol-to-Pixel Mappings - Maps pixel data to Unicode glyphs and block characters using configurable symbol maps and tags.
  • Animated GIF Playback - Decodes and renders animated GIFs frame-by-frame as terminal-compatible character art.
  • Canvas Rendering Configurations - Manages geometry, color space, and dithering on a pixel canvas before converting to character art.
  • Unicode Art Renderers - Renders a pixel buffer as Unicode block characters and symbols for terminal display.
  • Terminal Capability Queries - Query the terminal for its supported features, pixel modes, and canvas modes to determine optimal rendering settings.
  • C-Shared Library Bindings - Exposes core rendering logic through a shared C library with Python and JavaScript bindings.
  • Terminal Art Converters - Converts images into Unicode character art for display in terminal emulators.
  • Terminal Capability Detectors - Detects terminal capabilities to select the most compatible rendering mode and escape sequences.
  • Sixel Encoders - Encoding images into the Sixel format for high-color, high-resolution display in supporting terminal emulators.
  • Rendering Mode Selectors - Select the most suitable pixel or canvas mode based on the terminal's reported capabilities and quirks.
  • Terminal Graphics Protocols - Outputs image data using iTerm2 or Kitty terminal protocols for high-fidelity display.
  • Control Sequence Emitters - Construct and send ANSI escape sequences for querying or setting terminal attributes like cell size and text area dimensions.
  • Canvas Image Positioning - Defines how images are positioned, aligned, and tucked within a canvas for rendering.
  • Canvas Rendering - Sets geometry, color space, and other drawing parameters on a canvas before rendering images.
  • Dithering Level Controls - Adjusts the grain size, intensity, and algorithm used for dithering to control how colors are approximated in the output.
  • Animation Frame Sequencers - Decodes and plays back multi-frame images as timed character-art sequences in the terminal.
  • Image Output Configurations - Sets geometry, color space, and other output parameters before creating a canvas to control rendering.
  • Pixel Format Definition - Chooses the byte layout for pixel data used by canvas and symbol-map operations.
  • Terminal Canvas Geometry Tools - Calculates optimal character-cell dimensions for an image canvas based on source size, font ratio, and zoom or stretch preferences.
  • Unicode Symbol Set Definitions - Filters the set of text symbols used for terminal art by adding or removing symbols matching specified tags.
  • Python Bindings - Provides a shared C library and Python bindings for programmatic image-to-terminal-art conversion.
  • Python Bindings - Offers Python bindings for converting images into terminal art within Python applications.
  • Unicode Block Art Renderers - Renders pixel buffers as Unicode block characters and symbols for terminal display.
  • Terminal Utilities - Terminal graphics and image conversion tool.

Star 历史

hpjansson/chafa 的 Star 历史图表hpjansson/chafa 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Chafa 的开源替代方案

相似的开源项目,按与 Chafa 的功能重合度排序。
  • hackerb9/lsixhackerb9 的头像

    hackerb9/lsix

    4,169在 GitHub 上查看↗

    lsix is a command line image viewer and renderer that displays image files as a grid of thumbnails directly within a terminal emulator using Sixel graphics. It functions as a visual file browser and montage tool, converting bitmaps and vector formats into Sixel-encoded graphics for shell-based display. The tool extracts individual frames from multi-frame animated files to display them as a grid of static thumbnails. It also converts non-raster formats, such as SVG and PDF, into viewable bitmap previews. To ensure visual consistency, the utility queries the terminal for active foreground and

    Shell
    在 GitHub 上查看↗4,169
  • gdamore/tcellgdamore 的头像

    gdamore/tcell

    5,076在 GitHub 上查看↗

    tcell is a Go terminal user interface library and framework for building cell-based applications. It functions as a terminal emulator backend and input processor, utilizing a change-based diffing engine to manage screen state and efficiently render updates. The project is distinguished by its pluggable backend abstraction, which allows terminal interfaces to be rendered across physical terminals or compiled into WebAssembly for web browser display. It provides a virtual screen simulation to enable programmatic event injection and output inspection for automated application testing. Its capab

    Go
    在 GitHub 上查看↗5,076
  • mfontanini/presentermmfontanini 的头像

    mfontanini/presenterm

    7,852在 GitHub 上查看↗

    Presenterm is a CLI presentation framework and tool used to create interactive slide decks directly in the terminal. It functions as a Markdown slide renderer, transforming Markdown files into formatted terminal presentations with support for synchronized speaker notes and custom YAML themes. The project distinguishes itself through a built-in terminal code executor that runs code snippets live during a presentation, replacing source blocks with real-time output. It also features a terminal image renderer capable of displaying local images, animated GIFs, and pre-rendered diagrams or mathemat

    Rustclimarkdownmarkdown-slides
    在 GitHub 上查看↗7,852
  • hybridgroup/gocvhybridgroup 的头像

    hybridgroup/gocv

    7,463在 GitHub 上查看↗

    GoCV is a computer vision library and Go language binding for OpenCV. It serves as an image processing toolkit and deep learning inference engine, providing programmatic access to a wide range of algorithms for image manipulation, object detection, and video analysis. The project differentiates itself through high-performance native bindings and hardware acceleration. It utilizes a foreign function interface to map Go calls to C++ functions and includes a hardware-agnostic backend dispatch to route neural network tasks to computation engines such as CUDA and OpenVINO. The library covers a br

    Go
    在 GitHub 上查看↗7,463
查看 Chafa 的所有 30 个替代方案→

常见问题解答

hpjansson/chafa 是做什么的?

Chafa is a terminal graphics library that converts images and animated GIFs into character art for display in terminal emulators. It supports multiple output formats including ANSI escape sequences, Sixel graphics, and Unicode block characters, making it a versatile tool for rendering images directly within the terminal environment.

hpjansson/chafa 的主要功能有哪些?

hpjansson/chafa 的主要功能包括:ANSI Image Converters, Terminal Graphics Library Integration, Terminal Image Renderers, Terminal Graphics Converters, Sixel Renderers, Multi-Format Output Renderers, Image File Loading, Quality Tuning。

hpjansson/chafa 有哪些开源替代品?

hpjansson/chafa 的开源替代品包括: hackerb9/lsix — lsix is a command line image viewer and renderer that displays image files as a grid of thumbnails directly within a… gdamore/tcell — tcell is a Go terminal user interface library and framework for building cell-based applications. It functions as a… mfontanini/presenterm — Presenterm is a CLI presentation framework and tool used to create interactive slide decks directly in the terminal.… hybridgroup/gocv — GoCV is a computer vision library and Go language binding for OpenCV. It serves as an image processing toolkit and… o2sh/onefetch — Onefetch is a suite of specialized command-line tools designed to fetch system specifications, analyze Git repository… fogleman/gg — gg is a Go 2D graphics library and vector graphics engine designed for programmatic image generation. It provides a…