Improved SVG scaling

pull/215/head
M66B 4 months ago
parent 749153d75d
commit 7865c2317f

@ -287,12 +287,23 @@ class ImageHelper {
float dw = svg.getDocumentWidth(); float dw = svg.getDocumentWidth();
float dh = svg.getDocumentHeight(); float dh = svg.getDocumentHeight();
if (dw <= 0 || dh <= 0) { if (dw <= 0 || dh <= 0) {
dw = scaleToPixels; RectF rect = svg.getDocumentViewBox();
dh = scaleToPixels; dw = rect.width();
dh = rect.height();
if (dw <= 0 || dh <= 0) {
dw = scaleToPixels;
dh = scaleToPixels;
}
} }
int w = scaleToPixels; int w, h;
int h = Math.round(scaleToPixels * dh / dw); if (dw > scaleToPixels || dh > scaleToPixels) {
w = scaleToPixels;
h = Math.round(scaleToPixels * dh / dw);
} else {
w = Math.round(dw);
h = Math.round(dh);
}
svg.setDocumentWidth("100%"); svg.setDocumentWidth("100%");
svg.setDocumentHeight("100%"); svg.setDocumentHeight("100%");

Loading…
Cancel
Save