processing/processing4

pixelDensity(2) with SVG creates incorrect viewport in the file

Open

#693 aperta il 24 mar 2023

Vedi su GitHub
 (3 commenti) (0 reazioni) (1 assegnatario)Java (176 fork)auto 404
buggood first issuehelp wanted

Metriche repository

Star
 (439 star)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

In GitLab by @mrbbp on Mar 24, 2023, 09:36

Description

i was playing around with svg export and curve drawing. I'm working on MacOS with a retina display, therefore i add pixelDensity to improve display.

Expected Behavior

the document should stay in the viewbox

Current Behavior

When we export to svg, there is a glitch on the output file. there is a transform="scale(2,2)" on the exported shape. I understand why, but in fact it's useless, because it's vector shape exported. the document is defined with the right definition (created with size(width, height) in the script) by adding a transform, it modify the preview and the size of the shape in the viewbox.

Steps to Reproduce

import processing.svg.*;

void setup() {
  size(400,400, SVG, "filename_without_pixeldensity.svg");
  //pixelDensity(2);
}

void draw() {
  circle(width/2,height/2, width/2);
  exit();
}

Your Environment

  • Processing version: 4.2
  • Operating System and OS version: MacOS Ventura 13.2.1
  • Other information: Intel 2018 MBP 13"

Possible Causes / Solutions

Remove the transform="scale(2,2)" on each group of shape or adjust the document size (withand height) according to the pixelDensity instruction in the <svg> tag to have a correct preview and document viewbox.

Guida contributor