Open weilinzung opened 6 years ago
Same!
I'm seeing the same thing. Looks like it's only happening for me on odd numbers though (1218 outputs 1218, but 1219 outputs 1220). Any odd numbered dimension I tried always gave me an extra pixel.
You can give it the width and height:
domtoimage.toPng(node, {width: 100, height: 100})
I've tried both with and without providing width/height. In both cases the output image contains an extra pixel. In my case, there is one extra pixel on the output image's height vs. both the DOM node's height and the provided height. My guess is there is a fractional pixel somewhere in the library that is being rounded.
here is the output data, which has a 1px extra on the right, what would be the issue?
It should be 240px X 400px, but gave me 241px X 400px.
Copy and Paste to your broswer address bar, you should see it~
And here is the demo: https://codepen.io/weilinzung/pen/geRgJZ, create 4 extra pixel on the height.
data:image/png;base64,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