Я создаю в функции preload массив изображений, которые я хочу использовать позже. Однако, когда я хочу использовать высоту и ширину свойств изображения, тип не определен. Есть какой-нибудь способ бросить или что-то в javascript?Массив изображений P5.js
Я пытался создать новый образ, но я пропускаю свойства изображения, пример:
var images = new Array();
function preload() {
images.push(loadImage("image0.jpg"));
var img=loadImage("image1.jpg");
var aspect = img.height/img.width; // Here I successfully get the image properties
images.push(img);
}
function setup() {
createCanvas(1000, 600);
var imgNum = parseInt(random(0, images.length - 1), 10);
var img1 =images[parseInt(imgNum, 10)];
var aspect = img1.height/img1.width; // Here img1 has undefined type so the value img1.height is undefined too.
console.log("value: "+aspect);
image(images[imgNum], 0, 0);
console.log(img1);
}
поэтому значение img1.height не определено. Я предполагаю, что интерпретатор потерял тип, поэтому есть способ восстановить тип и информацию? что-то вроде приведения в java или C++?
Однако, если не изменить запрос свойств изображения, я могу распечатать изображение, но каждое изображение имеет свое значение, и я не могу изменить его размер.
function setup() {
createCanvas(1000, 600);
var img1 =images[parseInt(imgNum, 10)];
image(img1, 0, 0);
}
Скорее всего, метод 'loadImage()' или изображение 'src' является неправильным. Это означает, что вы создаете новые объекты Image(), но они имеют только значение по умолчанию, так как в них ничего не загружается. –
Нет, это изображение, я могу показать его на холсте, что потеряно, его свойства «img1.height/img1.width», но я могу визуализировать изображение, проблема в том, что я могу получить соотношение сынок изображения в разных размерах. – aburbanol