Processing:Справочник языка Processing/loadImage()

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


loadImage() [1]

Обозначение

loadImage()

Описание

Загружает изображение в объект типа 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-код, как графические данные.

Синтаксис

loadImage(filename)
loadImage(filename, extension)

Параметры

filename   название файла, который нужно загрузить. Он может иметь формат *.gif, *.jpg, *.tga или др. (зависит от вашей платформы). Тип данных  String
extension  тип загружаемого изображения (например, png, gif или jpg). Тип данных  String

Возвращаемое значение

Тип данных  объект PImage

Пример

№1


PImage img;
img = loadImage("laDefense.jpg");
image(img, 0, 0);

№2


PImage img;

void setup() {
  img = loadImage("laDefense.jpg");
}

void draw() {
  image(img, 0, 0);
}

№3


PImage webImg;

void setup() {
  String url = "https://processing.org/img/processing-web.png";
  // загружаем изображение с веб-сервера:
  webImg = loadImage(url, "png");
}

void draw() {
  background(0);
  image(webImg, 0, 0);
}

См.также

Внешние ссылки