Шаг 785 - CDC::PlgBlt

BOOL PlgBlt( POINT lpPoint, CDC* pSrcDC, int xSrc, int ySrc, int nWidth, int nHeight, CBitmap& maskBitmap, int xMask, int yMask );

Возвращаемое значение
Отлично от нуля, если функция успешна, иначе 0.

Параметры
lpPoint
Указатель на массив трех точек в логическом пространстве, которые идентифицирует три угла адресата параллелограмма. Левый верхний угол исходного прямоугольника отображен к первой точке в этом массиве, правый верхний угол к второй точке в этом массиве, и левом нижнем угле к третьей точке. Нижний правый угол исходного прямоугольника отображен к неявной четвертой точке параллелограмма.
pSrcDC
Идентифицирует исходный контекст устройства.
xSrc
Определяет x-координату, в логических модулях, левого верхнего угла исходного прямоугольника.
ySrc
Определяет y-координату, в логических модулях, левого верхнего угла исходного прямоугольника.
nWidth
Определяет ширину, в логических модулях, исходного прямоугольника.
nHeight
Определяет высоту, в логических модулях, исходного прямоугольника.
maskBitmap
Идентифицирует одноцветный точечный рисунок, который используется, чтобы маскировать цвета исходного прямоугольника.
xMask
Определяет x-координату левого верхнего угла одноцветного точечного рисунка.
yMask
Определяет y-координату левого верхнего угла одноцветного точечного рисунка.

Замечания
Выполняет пересылку битов цветных данных из определенного прямоугольника в исходном контексте устройства к определенному параллелограмму в данном контексте устройства. Если данный дескриптор идентифицирует допустимый одноцветный точечный рисунок, функция использует этот точечный рисунок, чтобы маскировать биты цветных данных из исходного прямоугольника.
Четвертая вершина определена, обработкой первых трех точек (A, B, и C) вычисляя D = B + C - A.
Если bitmask существует, значение 1 в маске указывает, что исходный цвет пикселя должен быть скопирован адресату. Значение 0 в маске указывает, что цвет пикселя адресата не должен быть изменен.
Если прямоугольник маски меньший чем источник и прямоугольники адресата, функция копирует образец маски.
При масштабировании, трансляции, и преобразования отражения сигнала позволяется в исходном контексте устройства; однако, вращение(циклический сдвиг) и преобразования сдвига фрагмента изображения - нет. Если точечный рисунок маски - не одноцветный точечный рисунок, ошибка происходит. Режим протяжения для контекста устройства адресата используется, чтобы определить, как протягивать или сжать пиксели, если это необходимо. Когда расширенный матафайл сделается запись, ошибка происходит, если исходный контекст устройства идентифицирует расширенный контекст устройства метафайла.
Координаты адресата преобразованы согласно контексту устройства адресата, координаты источника преобразованы согласно исходному контексту устройства. Если исходное преобразование имеет вращение(циклический сдвиг) или сдвиг фрагмента изображения, ошибка возвращена. Если адресат и исходные прямоугольники не имеет того же самого цветного формата, PlgBlt преобразовывает исходный прямоугольник, чтобы согласовать прямоугольнику адресата. Не все устройства поддерживают PlgBlt. Для подробной информации, см. описание RC_BITBLT растровой возможности в CDC::GetDeviceCaps функции.
Если источник и контексты устройства адресата представляет несовместимые устройства, PlgBlt возвращает ошибку.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 4.02.2002