Урок 4: Простейшие способы обработки изображений, глава 5

Мы практически завершили составление нашей программы о выводе изображения на экран. Это последняя часть четвертого урока. Если вы не читали части 1, 2, 3 и 4, то начните урок с начала, а не с конца.

Итак, добавляем приращение для x:

x += 32;
y = 0;
}

С помощью этого мы перемещаем горизонтальный заполнитель более чем на 32 пикселя (ширина нашего изображения). То есть отодвигаемся на один столбец. Затем мы приравняем заполнитель y к нулю, что позволяет ему стартовать с вершины столбца и перемещаться вниз.
Теперь наше изображение растянуто. Но подождите, остался еще один этап! Сейчас «экран» сохранен в памяти. Так как намного быстрее записать в память, чем на экран. Все операции, проделанные нами с экраном, необходимо превратить в результат; такой процесс называется зеркальным отражением экрана.

flipScreen();
}

Функция flipScreen () также определена в graphics.h. Поэтому этим действием мы фактически обновляем экран.

И наконец, мы завершаем работу программы, позволяющую нам увидеть наше красивое творение и восхищаться сеткой изображения.

sceKernelSleepThread();
return 0;
}

Теперь у нас есть готовый main.c. Далее мы должны скомпилировать этот файл. Makefile\’у для этой программы требуются некоторые модификации:

TARGET = hello
OBJS = main.o graphics.o framebuffer.o

CFLAGS = -O2 -G0 –Wall
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)

LIBDIR =
LIBS = -lpspgu -lpng -lz –lm
LDFLAGS =

EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = Image Example

PSPSDK=$(shell psp-config —pspsdk-path)
include $(PSPSDK)/lib/build.mak

Перед вами стандартный Makefile, но с двумя особенностями. Во-первых, мы добавили graphics.o и framebuffer.o к строке OBJS. Мы используем их, так как они являются исходными файлами (graphics.c, и это использует framebuffer.c). Таким образом, мы сообщаем компилятору о том, что нам нужны эти скомпилированные файлы в нашей программе. Во-вторых, мы добавили LIBS (библиотеки), поменяли zlib на»-lz«, и libpng на«-lpng«. Кроме того, мы открыли доступ к аппаратному обеспечению машинной графики с помощью «-lpspgu» . После этого вставили математическую библиотеку (которая использует graphics.h) с помощью «-lm«. Теперь у вас имеется первая программа с изображениями. А сейчас выйдите и создайте более мощные приложения и игры, используя полученные знания!

Примечание: Убедитесь в том, что, когда вы помещаете EBOOT в папку PSP, вы также копируете файл изображения PNG и помещаете его в ту же самую папку, что и EBOOT.

Не забудьте подписаться на RSS нашего сайта (или хотя бы занести сайт в закладки в браузере), чтобы быть в курсе и не пропустить обновления нашего курса.

Если вам понравились эти уроки и у вас есть лишняя пара баксов, вы можете отблагодарить автора или соавторов курса Или, если у вас есть свой веб-сайт, разместите ссылку на этот урок.