Загружает изображение в объект типа PImage. Можно загружать изображения четырех форматов – *.gif, *.jpg, *.tga или *.png. Чтобы изображение загрузилось корректно, оно должно находиться в папке «data» текущего скетча.
В большинстве случаев все изображения загружаются в блоке setup(), чтобы перед стартом программы они уже были загружены. Если загружать изображения в блоке draw(), это снизит производительность (скорость работы) программы. Вне setup() изображения загружать нельзя – разве что только внутри функции, вызванной после блока setup().
Кроме того, файл можно загрузить из любого места на локальном компьютере – при помощи абсолютного пути (в системах Linux и Unix он начинается с «/», а в Windows – с буквы диска). Также можно загрузить файл из интернета – в этом случае в filename нужно указать URL этого файла.
Если файла нет или появляется ошибка, метод вернет значение null, а в консоли будет напечатано сообщение об ошибке. Оно не остановит программу, однако, если метод вернет значение null, а в вашем коде нет проверки на возвращение null, это может вызвать исключение NullPointerException.
Параметр extension используется, чтобы определить тип изображения в случаях, когда у названия изображения нет корректного расширения. То, как указывать второй параметр в методе loadImage(), показано в третьем примере ниже. Обратите внимание, что CMYK-изображения не поддерживаются.
Если вам выдало какую-то ошибку, то loadImage() все же может вернуть объект PImage (это зависит от типа ошибки), однако ширина и высота изображения будут иметь значение «-1». Это происходит, когда метод возвращает плохие данные или если изображение не может быть корректно декодировано. Иногда так происходит с URL изображений, которые выдают ошибку 403 или перенаправляют к меню для указания пароля, потому что loadImage() пытается интерпретировать HTML-код, как графические данные.
PImagewebImg;voidsetup(){Stringurl="https://processing.org/img/processing-web.png";// загружаем изображение с веб-сервера:webImg=loadImage(url,"png");}voiddraw(){background(0);image(webImg,0,0);}