Сообщений 5    Оценка 45        Оценить  
Система Orphus

Функция McTransparentBlt

Автор: Олег Жук
Опубликовано: 05.10.2001
Исправлено: 13.03.2005
Версия текста: 1.0

Демонстрационная программа - 30 KB
Исходный текст функции - 2 KB


Так получилось, что в моей программе очень часто использовалась функция TransparentBlt. К сожалению, она появилась только в Windows 98 и Windows 2000. Недавно, передо мной был поставлен вопрос о необходимости работы программы в Windows 95 и Windows NT 4.0. Естественно, отказываться от возможностей TransparentBlt мне не хотелось. Так, на свет появилась функция McTransparentBlt, которая по параметрам и основной функциональности совпадает с TransparentBlt. Для тех кто не в курсе, McTransparentBlt копирует изображение c контекста устройства прямоугольной области с учетом прозрачного цвета.

BOOL McTransparentBlt(
    HDC hdcDest,        // дескриптор контекста устройства приемника
    int nXOriginDest,   // координата x приемника
    int nYOriginDest,   // координата y приемника
    int nWidthDest,     // ширина приемника
    int hHeightDest,    // высота приемника
    HDC hdcSrc,         // дескриптор контекста устройства источника
    int nXOriginSrc,    // координата x источника
    int nYOriginSrc,    // координата y источника
    int nWidthSrc,      // ширина источника
    int nHeightSrc,     // высота источника
    UINT crTransparent  // цвет задающий прозрачность
);

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

Функция тестировалась на Windows 95, 98SE, NT 4.0 (IE 3.0), 2000.

Ссылки по теме


Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав.
    Сообщений 5    Оценка 45        Оценить