awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
fogleman avatar

fogleman/gg

0
View on GitHub↗
4,778 stars·383 forks·Go·MIT·24 viewsgodoc.org/github.com/fogleman/gg↗

Gg

gg is a Go 2D graphics library and vector graphics engine designed for programmatic image generation. It provides a canvas rendering API to create custom 2D shapes, paths, and visual assets, which can be exported as PNG and JPG files.

The toolkit enables the construction of complex geometry using Bezier curves and custom paths. It supports a variety of rendering operations, including filling and stroking paths, applying linear and radial gradients, and utilizing surface patterns.

The library covers a broad range of capabilities, including text rendering with word wrapping and dimension measurement, coordinate transformations such as rotation and scaling, and the use of alpha-mask clipping to restrict drawing areas. It also manages graphics state through a stack-based system to support nested transformations and styles.

Features

  • 2D Vector Graphics Libraries - Provides a comprehensive API for drawing shapes, paths, and text in a two-dimensional vector space using Go.
  • Canvas Rendering - Provides a raster-based canvas rendering engine for programmatic image generation in Go.
  • Canvas and Paint APIs - Offers programmatic interfaces for defining drawing styles and executing rendering commands on a surface.
  • Canvas Coordinate Transformations - Implements canvas coordinate modifications including translation, scaling, rotation, and skewing.
  • Programmatic Image Toolkits - Provides a set of tools for creating PNG and JPG files through 2D drawing and font rendering.
  • Go Graphics Libraries - Provides a specialized toolkit for rendering 2D shapes and text using a coordinate-based canvas in Go.
  • Shape Drawing - Renders geometric primitives including circles, rectangles, ellipses, polygons, and arcs.
  • Path Geometry Construction - Enables the construction of complex geometry using cubic and quadratic Bezier curves and custom paths.
  • Composite Path Construction - Constructs complex vector paths by combining linear segments and Bezier curves.
  • Fill and Stroke Styles - Applies colors, gradients, and patterns to define the interior and boundaries of vector shapes.
  • Transformation Stacks - Implements a transformation stack to save and restore nested matrix transformations.
  • Vector Rasterizers - Converts mathematical vector definitions, including Bezier curves and paths, into pixel-based raster images.
  • Text Rendering - Renders text strings onto a canvas with support for fonts, alignment, and word wrapping.
  • Raster Image Renderers - Implements a rendering engine to produce high-quality PNG and JPG files with custom layouts and gradients.
  • Graphics State Management - Manages graphics state by saving and restoring stacks of style and transformation settings.
  • Raster Image Exporters - Exports final visual output to disk or writers in PNG and JPG formats.
  • Canvas Image Positioning - Provides logic for aligning and positioning external images on the rendering canvas.
  • Dynamic Image Renderers - Enables programmatic generation of images like banners and charts based on runtime functions.
  • Gradient Renderers - Renders smooth linear and radial color transitions across graphical elements.
  • Image Blitting - Allows placing external image data onto the drawing canvas by mapping source pixels to target coordinates.
  • Clipping Regions - Defines path-based clipping regions to restrict the visible rendering area of the canvas.
  • Text Dimension Measurement - Calculates the exact pixel width and height of text segments for custom layout rendering.
  • Clipping Path Applications - Provides tools for restricting rendering areas using defined vector paths or alpha masks.
  • Surface Patterns - Supports filling shapes and strokes using repeating surface patterns and gradients.
  • Image Processing - Pure Go 2D rendering library.

Star history

Star history chart for fogleman/ggStar history chart for fogleman/gg

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Gg

Similar open-source projects, ranked by how many features they share with Gg.
  • sixlabors/imagesharpSixLabors avatar

    SixLabors/ImageSharp

    7,954View on GitHub↗

    ImageSharp is a .NET image processing library and manipulation framework used for decoding, encoding, and modifying digital images. It functions as a comprehensive toolkit for resizing, cropping, and applying pixel-level filters while managing color profiles and pixel data across various file formats. The project integrates a 2D vector graphics engine and a typography rendering engine to draw geometric shapes, paths, and complex stylized text onto images. It also includes a geometry boolean operation library for calculating intersections, unions, and differences between complex polygons and c

    C#bmpc-sharpdrawing
    View on GitHub↗7,954
  • software-mansion/react-native-svgsoftware-mansion avatar

    software-mansion/react-native-svg

    7,990View on GitHub↗

    This project is a graphics library for React Native that provides a cross-platform vector rendering engine. It maps SVG XML elements to native graphics APIs, allowing for the creation of scalable shapes and custom illustrations that maintain visual consistency across mobile and web environments. The library functions as a mapper that converts standard SVG markup into declarative component structures. It enables the creation of interactive vector interfaces by providing components that can detect and respond to user touch events. Its capability surface includes drawing basic geometric primiti

    TypeScript
    View on GitHub↗7,990
  • leaferjs/leafer-uileaferjs avatar

    leaferjs/leafer-ui

    4,184View on GitHub↗

    Leafer UI is a high-performance HTML5 canvas rendering engine and 2D vector graphics library. It utilizes a hierarchical scene tree to manage shapes, paths, and text, providing a toolkit for building interactive canvas applications and expansive infinite canvases. The engine is designed as a cross-platform canvas toolkit that decouples core logic from the drawing API, allowing it to run across web, mobile, server, and mini-program environments. It distinguishes itself by providing specialized tools for interactive graphic editor development, including hit detection, event bubbling, and transf

    TypeScriptcanvasinfinite-canvasleafer
    View on GitHub↗4,184
  • exyte/macawexyte avatar

    exyte/Macaw

    6,050View on GitHub↗

    Macaw is a Swift vector graphics library and animation framework used to create and render scalable geometric shapes and text. It functions as an SVG rendering engine and an interactive vector graphics toolkit for displaying complex artwork while maintaining image quality at any scale. The framework enables the animation of shape properties and node transformations, including the ability to morph one vector path into another. It allows for the integration of external SVG files and the application of linear and radial gradients to fills and strokes. The toolkit covers a range of capabilities

    Swiftanimationdrawinggraphics
    View on GitHub↗6,050
See all 30 alternatives to Gg→

Frequently asked questions

What does fogleman/gg do?

gg is a Go 2D graphics library and vector graphics engine designed for programmatic image generation. It provides a canvas rendering API to create custom 2D shapes, paths, and visual assets, which can be exported as PNG and JPG files.

What are the main features of fogleman/gg?

The main features of fogleman/gg are: 2D Vector Graphics Libraries, Canvas Rendering, Canvas and Paint APIs, Canvas Coordinate Transformations, Programmatic Image Toolkits, Go Graphics Libraries, Shape Drawing, Path Geometry Construction.

What are some open-source alternatives to fogleman/gg?

Open-source alternatives to fogleman/gg include: sixlabors/imagesharp — ImageSharp is a .NET image processing library and manipulation framework used for decoding, encoding, and modifying… software-mansion/react-native-svg — This project is a graphics library for React Native that provides a cross-platform vector rendering engine. It maps… leaferjs/leafer-ui — Leafer UI is a high-performance HTML5 canvas rendering engine and 2D vector graphics library. It utilizes a… gcssloop/androidnote — AndroidNote is a technical knowledge base and reference resource for Android development. It provides comprehensive… exyte/macaw — Macaw is a Swift vector graphics library and animation framework used to create and render scalable geometric shapes… konvajs/react-konva — react-konva is a declarative React canvas graphics library and 2D vector graphics framework. It serves as a rendering…