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

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

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

kangax/fabric.js

0
View on GitHub↗
31,236 星标·3,626 分支·TypeScript·MIT·11 次浏览fabricjs.com↗

Fabric.js

Fabric.js is an HTML5 canvas library and interactive vector graphics engine. It provides an object-oriented model for creating, manipulating, and animating 2D shapes and interactive graphics on a web page.

The project functions as an SVG to canvas parser, translating SVG data into interactive canvas objects and exporting canvas states back into SVG format. It also serves as a canvas image processing tool for applying filters, gradients, patterns, and brush strokes to visual elements.

The library covers programmatic vector manipulation, including the ability to scale, rotate, skew, and group 2D elements. It supports canvas data serialization and export to formats including JSON, JPG, PNG, and SVG.

Features

  • Interactive Graphics - Provides a comprehensive framework for building interactive 2D graphics that support direct manipulation of visual objects.
  • Canvas Libraries - Serves as a comprehensive JavaScript library for creating and animating 2D graphics on HTML5 canvas elements.
  • Format Converters - Enables parsing of SVG data into canvas objects and exporting canvas states back into SVG format.
  • SVG Primitive Converters - Translates SVG primitive shapes into canvas objects for interactive rendering and manipulation.
  • Canvas State Serialization - Provides the ability to save and restore the entire canvas layout using structured JSON serialization.
  • Dynamic Vector Graphics - Enables programmatic scaling, rotation, and grouping of 2D vector elements for dynamic layout creation.
  • Vector Graphics Editors - Provides a programmatic object model for creating and manipulating interactive vector-based graphics.
  • Scene Graphs - Maintains a hierarchical scene graph of shapes and groups to manage spatial transformations and properties.
  • SVG and Canvas Converters - Provides a bidirectional parser that translates SVG data into interactive canvas objects and exports canvas states back to SVG.
  • SVG Parsers - Translates XML-based SVG data into internal JavaScript objects for interactive manipulation on the canvas.
  • Canvas Integration - Converts SVG data into interactive canvas elements and exports those states back into SVG.
  • Retained Mode Graphics Engines - Employs a retained-mode architecture that stores visual object states in memory for efficient updating and redrawing.
  • JSON and Serialization - Implements serialization mechanisms to save and load canvas states using JSON and various image formats.
  • Canvas Data Exports - Supports exporting canvas content to JPG, PNG, JSON, and SVG formats to preserve visual data.
  • Drawing Layers - Manages the visual depth and overlapping of graphics using a layered rendering system.
  • Canvas Filters - Provides pixel-based image processing and rendering effects, including filters, gradients, and custom brush strokes.
  • Coordinate Space Mappers - Implements transformation matrices to map local object coordinates to the global canvas space for accurate positioning and scaling.
  • Canvas-Based Image Editors - Provides tools for non-destructive image transformations, including filters and gradients, via the browser canvas API.
  • Data Visualization - Canvas library for SVG and Canvas parsing.
  • Game Engines - Canvas library with SVG parsing capabilities.
  • Graphic Libraries - Canvas library for object-oriented graphics.

Star 历史

kangax/fabric.js 的 Star 历史图表kangax/fabric.js 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

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

Start searching with AI

Fabric.js 的开源替代方案

相似的开源项目,按与 Fabric.js 的功能重合度排序。
  • paperjs/paper.jspaperjs 的头像

    paperjs/paper.js

    15,054在 GitHub 上查看↗

    Paper.js is an HTML5 Canvas vector graphics library and scripting framework used for creating and manipulating 2D shapes and paths. It functions as a vector animation framework and a headless vector graphics engine, allowing for the execution of graphics operations in both browser and server-side environments. The project features a dedicated SVG import and export engine to convert between native vector items and the SVG format. It includes a specialized boolean path operation toolkit for uniting, subtracting, and intersecting vector paths to create complex geometric shapes. The library cove

    JavaScript
    在 GitHub 上查看↗15,054
  • konvajs/konvakonvajs 的头像

    konvajs/konva

    14,135在 GitHub 上查看↗

    Konva is an object-oriented HTML5 canvas framework designed for building interactive 2D graphical applications. It provides a hierarchical scene graph that organizes shapes, images, and text into manageable nodes, groups, and layers. By mapping application state to canvas elements, the library enables developers to create complex visual interfaces using declarative patterns that synchronize with modern component-based frameworks. The library distinguishes itself through a robust event system that supports hit detection, bubbling, and direct manipulation of graphical objects, such as dragging,

    TypeScriptanimationcanvasdrag-and-drop
    在 GitHub 上查看↗14,135
  • jonobr1/two.jsjonobr1 的头像

    jonobr1/two.js

    8,636在 GitHub 上查看↗

    Two.js is a multi-backend graphics engine and vector drawing library that provides a unified API for creating two-dimensional graphics and animations. It functions as a renderer-agnostic abstraction layer, allowing users to generate vector shapes and paths that can be rendered via SVG, Canvas2D, or WebGL. The engine includes a scene graph manager to organize objects into hierarchical groups, enabling the propagation of collective transformations and parent-child relationships. It also features a headless graphics renderer, providing a node-based implementation for generating 2D drawings in se

    JavaScript
    在 GitHub 上查看↗8,636
  • leaferjs/leafer-uileaferjs 的头像

    leaferjs/leafer-ui

    4,184在 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
    在 GitHub 上查看↗4,184
查看 Fabric.js 的所有 30 个替代方案→

常见问题解答

kangax/fabric.js 是做什么的?

Fabric.js is an HTML5 canvas library and interactive vector graphics engine. It provides an object-oriented model for creating, manipulating, and animating 2D shapes and interactive graphics on a web page.

kangax/fabric.js 的主要功能有哪些?

kangax/fabric.js 的主要功能包括:Interactive Graphics, Canvas Libraries, Format Converters, SVG Primitive Converters, Canvas State Serialization, Dynamic Vector Graphics, Vector Graphics Editors, Scene Graphs。

kangax/fabric.js 有哪些开源替代品?

kangax/fabric.js 的开源替代品包括: paperjs/paper.js — Paper.js is an HTML5 Canvas vector graphics library and scripting framework used for creating and manipulating 2D… konvajs/konva — Konva is an object-oriented HTML5 canvas framework designed for building interactive 2D graphical applications. It… jonobr1/two.js — Two.js is a multi-backend graphics engine and vector drawing library that provides a unified API for creating… leaferjs/leafer-ui — Leafer UI is a high-performance HTML5 canvas rendering engine and 2D vector graphics library. It utilizes a… pixijs/pixi.js — PixiJS is a hardware-accelerated 2D rendering engine and HTML5 canvas library. It functions as a web-based graphics… wout/svg.js — svg.js is a JavaScript library and vector graphics API that provides a programmatic interface for creating and…