Практика программирования (Бейсик, Си, Паскаль)



         

Работа с отдельными точками и растровыми изображениями - часть 2


Так как при копировании области экрана в оперативной памяти сохраняются не только цвета пикселов, но и размеры запоминаемой области, то в операторе PUT достаточно указать только одну точку на экране, начиная с которой будет размещаться восстанавливаемое изображение. Параметр ovr определяет способ взаимодействия кодов цветности налагаемых пикселов с их прежними цветовыми атрибутами. 0н может принимать одно из следующих мнемонических значений:

  • PSET — новый код цветности вытесняет предыдущий;

  • PRESET — инвертированное значение нового кода цветности заменяет предыдущий код;

  • AND — новый и старый коды цветности поразрядно логически умножаются; П 0R — новый и старый коды цветности поразрядно логически складываются;

  • X0R — над новым и старым кодами выполняется операция "исключающее ИЛИ" (другими словами — выполняется поразрядное сложение по модулю 2).

    Абсолютно те же функции в BGI-пакете выполняют процедуры getimage и

    putimage:

    getimage(x1, y1,x2,y2,A);

    putimage(x3,x4,A,ovr);

    Единственное отличие заключается в мнемонике значений параметра ovr:

    ТС: C0PY_PUT TP: CopyPut QBasic: PSET N0T_PUT NotPut PRESET

    AND_PUT AndPut AND

    0R_PUT 0rPut 0R

    X0R_PUT XorPut X0R

    В BGI-пакете предусмотрена еще одна функция, с помощью которой можно определить размер массива А в байтах до выполнения операции getimage:

    size=imagesize(xl,yl,x2,y2);

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




    Содержание  Назад  Вперед