Я использую 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?