Specify what the viewport should be when drawing SVG to a canvas #1880

jakearchibald opened this Issue Oct 10, 2016 · 2 comments


None yet

3 participants

jakearchibald commented Oct 10, 2016 edited

I've filed an issue with SVG, as displaying SVG in an image doesn't seem well-defined w3c/svgwg#289

However, we need to define how SVG is drawn to a canvas, particularly in terms of media queries.

canvas2dContext.drawImage(img, x, y, width, height);

Edge uses the layout size of the <img> to determine the viewport. If the <img> doesn't have layout then it falls back to the width/height attributes, if it doesn't have those it falls to the intrinsic dimensions of the <img>. This seems ideal, as you can change the viewport independent of the size it's drawn to the canvas.

At the moment every browser does something different here. Documentation and demos: https://jakearchibald.com/2016/svg-media-queries/#drawing-svg-to-a-canvas

domenic commented Oct 11, 2016

@junov @xidachen @grorg any opinions on this question of drawing a SVG to a canvas? Does aligning with Edge's behavior here sound reasonable, if we write some web platform tests and update the spec to be precise?

junov commented Oct 11, 2016

I agree with @jakearchibald that Edge's behavior is probably the more desirable one for web devs. The "bizarro-pants" behavior in Chrome is based on a (possibly incorrect) literal interpretation of the spec, which I agree is not that useful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment