@antv/g-plugin-rough-canvas-renderer

中文文档
2.1.3发布于 2026/10/16MITTypeScriptESM + CJS近 30 天下载 8623

A G plugin of renderer implementation with rough.js

原始使用文档
文档目录9 节
  1. Getting started
  2. Features
  3. Basic shapes
  4. Opacity
  5. Shadow
  6. Other rough.js options
  7. Plugin Options
  8. Text & Image
  9. Picking

@antv/g-plugin-rough-canvas-renderer

Use rough.js(Canvas version) to render sketchy styled shapes, inspired by roughViz.

Getting started

Use g-canvas and register this plugin.

The dirty-rectangle rendering won't work in this scenario, any change on display objects will cause fullscreen re-rendering.

import { Canvas } from '@antv/g';
import { Renderer } from '@antv/g-canvas';
import { Plugin as PluginRoughCanvasRenderer } from '@antv/g-plugin-rough-canvas-renderer';

// create a renderer
const renderer = new Renderer();
renderer.registerPlugin(new PluginRoughCanvasRenderer());

// create a canvas & use `g-canvas`
const canvas = new Canvas({
    container: 'container',
    width: 600,
    height: 500,
    renderer,
});

Features

Basic shapes

  • Group
  • Circle
  • Ellipse
  • Rect, radius won't work
  • Line
  • Polyline
  • Polygon
  • Path
  • Text
  • Image

Opacity

rough.js don't support opacity now, but we can augment it with globalAlpha.

We can use opacity but not fillOpacity or strokeOpacity separately:

circle.style.opacity = 0.5;

Shadow

Shadow can also work:

circle.style.shadowColor = '#000';
circle.style.shadowBlur = 0;
circle.style.shadowOffsetX = 0;
circle.style.shadowOffsetY = 0;

Other rough.js options

https://github.com/rough-stuff/rough/wiki#options

Plugin Options

When initializing the plugin, you can pass the following options:

export interface RoughCanvasRendererPluginOptions {
    // is element rough render
    roughRendering?: boolean | ((value: DisplayObject) => boolean);
}

Text & Image

Text & Image should be the same in canvas-renderer.

Picking

Maybe it's not necessary to pick target in a precise way.

版本与发布记录

@antv/g-plugin-rough-canvas-renderer 共发布 214 个版本,首次发布于 2022/05/07;过去 12 个月发布了 9 个版本。

版本发布日期距今
2.1.3latest2026/10/1621 天前
2.1.22026/10/1026 天前
2.3.12026/05/195 个月前
2.2.12026/05/195 个月前
2.1.12025/12/2410 个月前
2.1.02025/12/2210 个月前

其他发布通道:next → 2.0.15,alpha → 2.0.16-alpha.0,beta → 2.0.49-beta.0。

关于 @antv/g-plugin-rough-canvas-renderer 的常见问题

@antv/g-plugin-rough-canvas-renderer 是什么?

A G plugin of renderer implementation with rough.js

如何安装 @antv/g-plugin-rough-canvas-renderer?

在项目目录运行 npm install @antv/g-plugin-rough-canvas-renderer,或使用 pnpm add / yarn add / bun add。

@antv/g-plugin-rough-canvas-renderer 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@antv/g-plugin-rough-canvas-renderer 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@antv/g-plugin-rough-canvas-renderer 可以商用吗?

@antv/g-plugin-rough-canvas-renderer 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@antv/g-plugin-rough-canvas-renderer 的下载量有多少?

根据 npm 官方下载统计,@antv/g-plugin-rough-canvas-renderer 在 2026/10/06 – 2026/11/04 这 30 天内被下载 8,623 次,日均约 287 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@antv/g-plugin-rough-canvas-renderer 还在维护吗?

最新版本 2.1.3 发布于 2026/10/16(21 天前);至今共发布 214 个版本,其中过去 12 个月发布了 9 个;首次发布于 2022/05/07。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。