processing/processing4

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

Open

#693 建立於 2023年3月24日

在 GitHub 查看
 (3 留言) (0 反應) (1 負責人)Java (176 fork)auto 404
buggood first issuehelp wanted

倉庫指標

Star
 (439 star)
PR 合併指標
 (PR 指標待抓取)

描述

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.

貢獻者指南