#javascript #p5.js #style-transfer
Вопрос:
В настоящее время я храню свой перенос stlye во временной переменной под названием Temp, оттуда я хотел замаскировать свой перенос стиля в маске круга, чтобы он стал круглым изображением, подобным моему изображению. Однако проблема в том, что когда я пытаюсь изменить что-либо, связанное с временной переменной, я получаю эту ошибку : Не пойман (в обещании) Ошибка типа: Не удается прочитать свойство «src» неопределенного. Проблема в том, что переменная определяется, когда она не изменена, но если происходят какие-либо изменения, она становится неопределенной.
Любая помощь будет очень признательна.
function setup() {
canvas = createCanvas(500, 500);
circleMask = createGraphics(128, 128);
// load two style transfer models from the models folder
style1 = ml5.styleTransfer("models/mathura", modelLoaded);
style2 = ml5.styleTransfer("models/udnie", modelLoaded);
style3 = ml5.styleTransfer("models/OversoulSpellModel", modelLoaded);
style4 = ml5.styleTransfer("models/OilPainting", modelLoaded);
circleMask.fill('rgba(0, 0, 0, 1)');
circleMask.circle(64, 64, 128); //creating a circle mask
myImage.mask(circleMask._renderer); //using . renderer apperantly fixes the issue of mask not being a function
}
function keyPressed() {
if (key == 'a') {
console.log("A");
// myImage = originalImg; // switch back to original so we can prevent recursive application
style1.transfer(canvas, function(err, result) {
tempDOMImage = createImg(result.src).hide();
myImage = tempDOMImage;
});
}else if (key == 'b') {
// myImage = originalImg; // switch back to original so we can prevent recursive application
style2.transfer(canvas, function(err, result) {
tempDOMImage = createImg(result.src).hide();
myImage = tempDOMImage;
});}
else if (key == 'c') {
// myImage = originalImg; // switch back to original so we can prevent recursive application
style3.transfer(canvas, function(err, result) {
tempDOMImage = createImg(result.src).hide();
myImage = tempDOMImage;
});}
else if (key == 'd') {
// myImage = originalImg; // switch back to original so we can prevent recursive application
style4.transfer(canvas, function(err, result) {
tempDOMImage = createImg(result.src).hide();
myImage = tempDOMImage;
});
}else {
// we should transfer back
myImage = originalImg;
}
}