Сохранение и выдача изображений
ImageSize (x1,y1,x2,y2) – функция возвращает размер памяти в байтах, необходимый для размещения прямоугольного фрагмента изображения. Здесь (x1,y1) – координаты левого верхнего, (x2,y2) –правого нижнего углов фрагмента изображения.
GetImage(x1,y1,х2,y2,Buf) – процедура помещает в память копию прямоугольного фрагмента изображения. Здесь (x1,y1) – координаты левого верхнего, (x2,y2) –правого нижнего углов фрагмента изображения; Buf — переменная или участок кучи, куда будет помещена копия видеопамяти с фрагментом изображения. Размер Bufдолжен быть получен с помощью функции ImageSize(x1,y1,x2,y2).
PutImage(x,y,Buf,Mode) – процедура выводит в заданное место экрана копию фрагмента изображения, ранее помещенную в память процедурой GetImage. Здесь(x,y) – координаты левого верхнего угла того места на экране, куда будет скопирован фрагмент изображения; Buf – переменная или участок кучи, откуда берется изображение; Mode – способ копирования. Параметр Mode определяет способ взаимодействия вновь размещаемой копии с уже имеющимся на экране изображением. Взаимодействие осуществляется путем применения кодируемых этим параметром логических операций к каждому биту копии и изображения. Для указания применяемой логической операции можно использовать одну из следующих предварительно определенных констант:
Const
NormalPut=0; {Замена существующего изображения на копию}
XorPut=1; {Исключительное ИЛИ}
OrPut=2; {Объединительное ИЛИ}
AndPut=3; {Логическое И}
NotPut=4; {Инверсия изображения}
Наиболее часто используются операции NormalPut, XorPutи NotPut.Первая из них просто стирает часть экрана и на это место помещает копию из памяти в том виде, как она там сохраняется. Операция NotPutделает то же самое, но копия выводится в инверсном виде. Для монохромного режима это означает замену светящихся пиксел на темные и наоборот. В цветном режиме операция NotPutприменяется к коду цвета каждого пиксела. Например, для White(код 15 или в двоичном виде 1111) эта операция даст код 0000=0=Black, для Red – 4=0100 получим 1011=11=LightCyanи т.д. Операция XorPut, примененная к тому же месту экрана, откуда была получена копия, сотрет эту часть экрана. Если эту операцию применить дважды к одному и тому же участку, вид изображения на экране не изменится. Таким способом можно перемещать изображения по экрану, создавая иллюзию движения.
Дата добавления: 2015-04-15; просмотров: 715;