Automattic/node-canvas

SVG not scaling with context

Open

#1.474 aberto em 24 de set. de 2019

Ver no GitHub
 (4 comments) (0 reactions) (0 assignees)JavaScript (1.140 forks)batch import
Help wanted

Métricas do repositório

Stars
 (9.524 stars)
Métricas de merge de PR
 (Mesclagem média 34d 18h) (2 fundiu PRs em 30d)

Description

Issue or Feature

I'm not sure if i opened this issue already, or just commented in the old svg resize issue that i cannot find anymore.

In browser canvas SVGs are resized and re rendered with the context scale other than the width and height assigned.

In node canvas rendering a svg on a scaled context gives blurred results.

Steps to Reproduce

const fs = require('fs');
const { createCanvas, loadImage } = require('canvas')
const canvas = createCanvas(500, 500)
const ctx = canvas.getContext('2d');

ctx.scale(20, 20);

loadImage('http://thenewcode.com/assets/images/thumbnails/homer-simpson.svg').then((image) => {
  ctx.drawImage(image, 100, 100, 400, 400, 0, 0, 500, 500);
  var stream = canvas.createPNGStream();
  stream.pipe(fs.createWriteStream('output.png'));
})

image

Your Environment

  • Version of node-canvas (output of npm list canvas or yarn list canvas):
  • Environment (e.g. node 10.0.0 on Mac OS X 10.8):

Guia do colaborador