BorlanD Russian Сommunity

Рассмотрим класс TBitmap. Класс TBitmap предназначен для работы с растровыми картинками. Он, как и другие классы, рассмотренные на предыдущих уроках, используется на холсте (Canvas) с помощью метода Draw.

 

Вот пример его использования:

var

            Bitmap: TBitmap;

            ...

            Bitmap:=TBitmap.Create;

            //Загружает изображение из файла

            Bitmap.LoadFromFile('1.bmp');

            //Выводим размеры в заголовок формы

            Form1.Caption:=IntToStr(Bitmap.Width) + ' '

            + IntToStr(Bitmap.Height);

            //Выводим катринку на форму

            Form1.Canvas.Draw(0, 0, Bitmap);

            //Устанавливаем черно-белый режим

            Bitmap.Monochrome:=true;

            //Выводим вторую картинку

            Form1.Canvas.Draw(20, 0, Bitmap);

 

Первые два параметра метода Draw для холста - это координаты левого верхнего угла выводимой картинки. Первая картинка вывелась в цвете, вторая - черно-белой.

Bitmap может быть и прозрачным. В этом случае в нем пиксели определенного цвета будут считаться прозрачными, и вместо них будет показываться цвет фона нашей формы. Естественно, если форма поменяет цвет, то и цвет таких "прозрачных" пикселей тоже поменяется. Сделать это можно двумя способами. При первом способе мы определяем, что "прозрачным" цветом будет цвет левого верхнего пикселя нашего bitmap. При втором способе мы просто определяем, какой конкретный цвет у bitmap будет считаться прозрачным (за это отвечает свойство TransparentColor типа TColor). Установка того или иного способа определения прозрачных пикселей задается свойством TransparentMode (возможные значения для него - tmAuto и tmFixed соответственно). И в том, и в другом случае надо установить свойство Transparent для нашего bitmap в true.

 

А вот и пример кода:

 

            //Установка свойства прозрачности

            Bitmap.Transparent:=true;

            //Установка цвета левого верхнего

            //пиксела в качестве прозрачного

            Bitmap.TransparentMode:=tmAuto;

            Form1.Canvas.Draw(0, 0, Bitmap);

            //Установка конкретного цвета (красного)

            //в качестве прозрачного

            Bitmap.TransparentMode:=tmFixed;

            Bitmap.TransparentColor:=RGB(255, 0, 0);

            Form1.Canvas.Draw(20, 0, Bitmap);

 

Для первой картинки прозрачный цвет - это цвет левого верхнего пискела, для второй - красный цвет.

Всё на этом урок закончен.

Просмотров: 3049 | Категория: Delphi 7 | Дата: 11.05.2008