Прозрачный Bitmap
Вам необходимо две копии вашего изображения. Маску и само изображение. Маска
является ничем иным, как изображением, состоящим из двух цветов. Черного для тех
областей, которые вы хотите показать, и белого для прозрачных. Для Windows 3.1
маска изображения может быть черно-белой, и предназначена для определения
размеров изображения. В Win95 черно-белая маска ни при каких обстоятельствах не
работает, т.к. у нее должна быть та же глубина цветов, что и у самого
изображения, которое вы хотите показать.
Изображение, которое вы хотите показать, должно содержать в прозрачных
областях значение цвета, равное 0. Метод помещения изображения на экран такой
же, как и в DOS. Маска AND экран, изображение OR или XOR с той же областью.
Ниже приведен код Delphi, позволяя сделать вышеописанное с помощью двух
TBitmap.
Canvas.CopyMode := cmSrcAnd;
Canvas.CopyRect(TitleRect, BMask.Canvas, TitleRect);
{заполняем "пробелы" изображением}
Canvas.CopyMode := cmSrcPaint;
Canvas.CopyRect(TitleRect, BTitle.Canvas, TitleRect);
|
|