Я работаю над приложением, в котором мне нужно будет в конце экспортировать холст как SVG.
Когда я добавляю изображение на холст, оно отображается с ожидаемым качеством, но при экспортехолст, изображение полностью размыто.
Как я могу предотвратить это?
Я играл с setHeight / Width и scaleToHeight / Width, а также с кэшированием объектов, и это неКажется, не имеет никакого значения.
Как я создаю свой холст:
var canvas = new fabric.Canvas('canvas', {
imageSmoothingEnabled: false
});
Как я добавляю изображение на холст:
fabric.Image.fromURL('hall1.svg', function (myImg) {
let img1 = myImg.set({
top: 0,
left: 0,
scaleX: 2,
scaleY: 2
});
canvas.add(img1);
});
КакЯ экспортирую холст:
$.ajax({
method: 'post',
url: '/path/to/project/svg.php',
data: {
preview: true,
previewData: canvas.toSVG({ suppressPreamble: true })
}
})
file_put_contents("../../preview.svg", $_POST['previewData']);
echo 'preview.svg';
Ожидаемое качество
Фактическое качество