Почему изображения очень низкого качества при экспорте с fabricjs? - PullRequest
1 голос
/ 16 октября 2019

Я работаю над приложением, в котором мне нужно будет в конце экспортировать холст как 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';

Ожидаемое качество

Фактическое качество

...