Проблема с получением правильного текста растрового изображения - PullRequest
0 голосов
/ 21 января 2020

Я использую canvas для размещения на нем объектов fabri c и создания png-файла изображения и / или многослойного pdf-файла (в зависимости от выбора пользователя)

Это мой код:

function copy2_temp_canvas(){
    let vobjects = canvas.getObjects();

    for (let i = 0; i < vobjects.length; i++) {
        vobjects[i].clone(function(objcloned) {
            temp_canvas.add(objcloned.set({
                left: 0, 
                top: 0
            })).renderAll();
        });
    }
    base64_of_temp_canvas();
}

function base64_of_temp_canvas(){
    let objbase64 = temp_canvas.toDataURL({format: 'png', quality: 1});
    document.getElementById('rasterimg').value = objbase64;
}

Проблема в том, что когда я вызываю функцию base64_of_temp_canvas() изнутри функции copy2_temp_canvas() body, она генерирует неправильный текст растрового изображения, и в результате я не получаю изображение в файле png / pdf. С другой стороны, когда я вызываю обе функции copy2_temp_canvas() и base64_of_temp_canvas() отдельно / вручную, он дает правильный растровый текст, и я получаю правильное изображение.

Что мне нужно сделать, чтобы получить правильный растровый текст, вызвав функцию base64_of_temp_canvas() из функции copy2_temp_canvas() body?

...