Сохранение и выдача изображений

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, для Red4=0100 получим 1011=11=LightCyanи т.д. Операция XorPut, примененная к тому же месту экрана, откуда была получена копия, сотрет эту часть экрана. Если эту операцию применить дважды к одному и тому же участку, вид изображения на экране не изменится. Таким способом можно перемещать изображения по экрану, создавая иллюзию движения.