
Security News
PodRocket Podcast: Inside the Recent npm Supply Chain Attacks
Socket CEO Feross Aboukhadijeh discusses the recent npm supply chain attacks on PodRocket, covering novel attack vectors and how developers can protect themselves.
canvas-constructor
Advanced tools
A ES6 class for node-canvas with built-in functions and chained methods.
This module requires one of the following packages to be installed for Node.js:
Note: If you are building a website, no extra dependencies are required.
How to use it:
Node.js:
const { Canvas } = require('canvas-constructor/napi-rs');
// or 'canvas-constructor/skia' if you are using `skia-canvas`
// or 'canvas-constructor/cairo' if you are using `canvas`
new Canvas(300, 300)
.setColor('#AEFD54')
.printRectangle(5, 5, 290, 290)
.setColor('#FFAE23')
.setTextFont('28px Impact')
.printText('Hello World!', 130, 150)
.png();
Browser:
<canvas id="canvas" width="300" height="400"></canvas>
<script type="text/javascript" src="https://unpkg.com/canvas-constructor"></script>
<script type="text/javascript">
const canvasElement = document.getElementById('canvas');
new CanvasConstructor.Canvas(canvasElement)
.setColor('#AEFD54')
.printRectangle(5, 5, 290, 290)
.setColor('#FFAE23')
.setTextFont('28px Impact')
.printText('Hello World!', 130, 150);
</script>
Alternatively, you can import canvas-constructor/browser
if you are using a bundler such as Vite, Webpack, or Rollup:
import { Canvas } from 'canvas-constructor/browser';
Now, let's suppose we want to add images, we can use the loadImage
function, which works in all supported environments:
const { Canvas, loadImage } = require('canvas-constructor/napi-rs');
async function createCanvas() {
const image = await loadImage('./images/kitten.png');
return new Canvas(300, 400)
.printImage(image, 0, 0, 300, 400)
.setColor('#FFAE23')
.setTextFont('28px Impact')
.setTextAlign('center')
.printText('Kitten!', 150, 370)
.pngAsync();
}
And now, you have created an image with a kitten in the background and some centered text at the bottom of it.
If you experience issues with @napi-rs/canvas
, skia-canvas
, or canvas
, please refer to their respective package repositories, this
package is just a convenient wrapper that makes it easier to use the canvas in both Node.js and the browser. And does not modify the
behavior of the underlying canvas implementation.
FAQs
A ES6 class for node-canvas with built-in functions and chained methods.
The npm package canvas-constructor receives a total of 687 weekly downloads. As such, canvas-constructor popularity was classified as not popular.
We found that canvas-constructor demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Socket CEO Feross Aboukhadijeh discusses the recent npm supply chain attacks on PodRocket, covering novel attack vectors and how developers can protect themselves.
Security News
Maintainers back GitHub’s npm security overhaul but raise concerns about CI/CD workflows, enterprise support, and token management.
Product
Socket Firewall is a free tool that blocks malicious packages at install time, giving developers proactive protection against rising supply chain attacks.