< Return to Video

Код изображения (9 мин)

  • 0:01 - 0:06
    В этом разделе мы возьмем уже изученные приемы кодирования и знания о
  • 0:06 - 0:12
    изображениях, пикселях и RGB числах для того, чтобы соединить их воедино. Итак, примеры
  • 0:12 - 0:17
    в этом разделе будут касаться работы над каждым пикселем отдельно. А затем, в следующем
  • 0:17 - 0:22
    разделе мы будем обрабатывать тысячи пикселей одновременно. Итак,
  • 0:22 - 0:27
    для начала, я хочу взглянуть на это изображение под названием x.png. Оно очень маленькое, сейчас я
  • 0:27 - 0:33
    покажу его. Это изображение разрешением 10*10 пикселей, вот оно, отмечено на
  • 0:33 - 0:38
    странице. Это черное изображение с белым крестом на нем. И, как я уже говорил, оно
  • 0:38 - 0:44
    очень маленькое. Но, мы увидим его в большем размере чуть позже. Итак, PNG это
  • 0:44 - 0:49
    формат изображения, "переносимая сетевая графика". Точно как JPEG - это тоже формат,
  • 0:49 - 0:55
    который, возможно, наиболее вам знаком. Итак, они оба - форматы изображения.
  • 0:55 - 1:01
    Итак в этом примере я хочу показать вам код, который загрузит изображение x.png
  • 1:01 - 1:06
    и отобразит его. Это будет первый, очень простой пример кода,
  • 1:06 - 1:10
    который работает с изображениями. Итак, код вы можете увидеть здесь, а я расскажу,
  • 1:10 - 1:14
    что означает каждая строка. Итак, первая строка image = new SimpleImage(x.png)
  • 1:15 - 1:19
    Правая часть строки загружает
  • 1:19 - 1:24
    изображение x.png в память. А, о том, что такое память, мы поговорим позже.
  • 1:24 - 1:28
    Достаточно сказать, что изображение поступает в компьютер и он может
  • 1:28 - 1:33
    с ним работать. Как только я написал знак равенства,
  • 1:33 - 1:37
    изображение превращается в переменную, которая называется "image", точно такую же как
  • 1:37 - 1:41
    и другие переменные, которые мы видели раньше. Вторая строка image.setZoom(20)
  • 1:41 - 1:46
    означает функцию приближения картинки.
  • 1:46 - 1:52
    И в данном случае изображение увеличится в 20 раз.
  • 1:52 - 1:57
    Мы используем это для того, чтобы рассмотреть маленькое изображение и
  • 1:57 - 2:01
    приблизить его. И, в конце, print(image) выполняет ту функцию, которую мы уже видели.
  • 2:01 - 2:04
    А именно отображает картинку
  • 2:04 - 2:07
    с правой стороны, как текст и числа, которые мы уже видели раньше.
  • 2:07 - 2:12
    Попробуйте. Если нажать кнопку "Run", то мы увидим изображение x.png.
  • 2:12 - 2:17
    И мы можем посчитать, один, два, три, четыре... Мы можем посчитать,
  • 2:17 - 2:22
    что это изображение с разрешением 10 на 10 пикселей. И оно отображается здесь,
  • 2:22 - 2:27
    увеличенное в 20 раз. Вообще-то, я могу изменить число здесь. И, если я поменяю его
  • 2:27 - 2:32
    на 10, а затем опять нажму "Run", то оно станет увеличенным только в 10 раз.
  • 2:32 - 2:35
    А если я напишу 40, и нажму "Run", то оно станет гораздо больше. Итак, я верну значение 20.
  • 2:35 - 2:40
    Сейчас будет первый небольшой пример кода,
  • 2:40 - 2:45
    но это только начало и дальше мы научимся загружать и работать с изображениями. Итак,
  • 2:45 - 2:50
    чтобы было немного интереснее, я расширю код, чтобы работать
  • 2:50 - 2:55
    с каждый пикселем в отдельности. Я добавляю пару строк в середину
  • 2:55 - 2:59
    программы здесь, и пишу pixel=image.getPixel(0,0). Что это дает?
  • 2:59 - 3:04
    Программа обращается к изображению и ссылается на конкретный пиксель с
  • 3:04 - 3:10
    координатами x, y, которым мы дали значение 0,0. Это
  • 3:10 - 3:15
    верхний левый пиксель, т.е. программа обращается к верхнему левому пикселю и
  • 3:15 - 3:20
    затем переходит к следующей строке pixel.setRed(255). Эта строка
  • 3:20 - 3:26
    означает функцию setRed, которая берет число
  • 3:26 - 3:31
    в скобках и, в независимости от того, что это за число,
  • 3:31 - 3:36
    она приравнивает значение красного цвета в данном пикселе к этому числу.
  • 3:36 - 3:42
    Итак, давайте посмотрим. В коде мы видим, что программа будет обращаться к
  • 3:42 - 3:46
    верхнему левому пикселю, который был черным. А как мы помним,
  • 3:46 - 3:52
    каждый пиксель имеет определенные значения красного, зеленого и синего цветов. И программа
  • 3:52 - 3:56
    меняет значение красного цвета в пикселе и меняет его на 255, просто заменяет то значение,
  • 3:56 - 4:02
    которое там было раньше. Когда мы посмотрим, мы увидим, что пиксель стал красного цвета.
  • 4:02 - 4:08
    Итак, для того чтобы изменить значение красного цвета мы использует функцию setRed. По аналогии
  • 4:08 - 4:13
    мы меняем значение зеленого цвета функцией setGreen и синего цвета - функцией setBlue. Получается три функции: setRed, setGreen and setBlue.
  • 4:13 - 4:18
    Используя эти функции мы можем изменить значения красного, зеленого и синего цветов.
  • 4:18 - 4:22
    Еще надо упомянуть, что
  • 4:22 - 4:25
    есть отдельная страничка, которая называется
  • 4:25 - 4:29
    Image Functions Reference, где расписаны все три функции в таблице, которую
  • 4:29 - 4:33
    вы, возможно, захотите использовать, когда будете выполнять упражнения.
  • 4:33 - 4:37
    Но в лекциях я буду рассказывать
  • 4:37 - 4:40
    о тех функциях, которые буду использовать. Для того, чтобы лучше понять,
  • 4:40 - 4:44
    как работают эти функции, потренируйтесь на упражнениях.
  • 4:44 - 4:48
    Используйте их, чтобы изменить или сделать что-либо.
  • 4:48 - 4:52
    Итак, это самый простой пример кода для разминки.
  • 4:52 - 4:56
    А здесь в таблице я написал парочку примеров потруднее,
  • 4:56 - 5:00
    например, установить значения зеленого, желтого и т.д. Давайте пробежимся по ним.
  • 5:00 - 5:04
    Для каждого из них справа есть кнопка "show",
  • 5:04 - 5:08
    которую вы можете нажать и посмотреть решение программы. Позже вы можете вернуться к этой странице и
  • 5:08 - 5:12
    попробовать самостоятельно сделать то, что я буду сейчас делать или
  • 5:12 - 5:15
    придумать другие примеры. Давайте попробуем сделать первый пример.
  • 5:15 - 5:19
    Для начала я нажму "run", чтобы посмотреть, как отобразиться код. Итак, сейчас программа
  • 5:19 - 5:24
    берет пиксель (0,0) и делает его красным. Мы это уже видели.
  • 5:24 - 5:29
    В первом примере нужно сделать пиксель (0,0)
  • 5:29 - 5:34
    зеленым. Условие дано словами,
  • 5:34 - 5:39
    его нужно преобразовать в код,
  • 5:39 - 5:44
    т.е. записать, используя цифры и символы.
  • 5:44 - 5:49
    Итак, какова последовательность действий? Вы должны как бы
  • 5:49 - 5:54
    перевести задание с человеческого языка на компьютерный. В упражнении необходимо
  • 5:54 - 5:59
    сделать пиксель зеленым. Итак, я собираюсь вместо функции setRed
  • 5:59 - 6:04
    написать функцию setGreen. Давайте попробуем. И вот, что у нас получилось!
  • 6:04 - 6:09
    У нас появился зеленый пиксель. В следующем упражнении
  • 6:09 - 6:15
    необходимо сделать пиксель (0,0) желтым. Для того, чтобы это сделать,
  • 6:15 - 6:21
    нужно для красного и зеленого цветов поставить значения 255. Как мы знаем,
  • 6:21 - 6:26
    желтый состоит из красного и зеленого. Мы меняем красный
  • 6:26 - 6:30
    и зеленый. Я просто скопирую эту строку, вставлю ее здесь и изменю это на красный.
  • 6:30 - 6:34
    У меня есть ссылка на пиксель (0,0)
  • 6:34 - 6:38
    и я могу делать с ним сразу несколько функций. В первой функции setRed я задаю значение красного цвета.
  • 6:38 - 6:42
    А во второй setGreen во второй строке - зеленого.
  • 6:42 - 6:46
    Программа выполнит код подряд строку за строкой.
  • 6:46 - 6:51
    Давайте попробуем. Получился желтый!
Title:
Код изображения (9 мин)
Video Language:
English
Irina Nekrasova edited Russian subtitles for Image Code
Irina Nekrasova edited Russian subtitles for Image Code
Irina Nekrasova added a translation

Russian subtitles

Incomplete

Revisions