Страница 31 из 39 Класс TBitmap TBitmap = class(TGraphic) Класс соответствует битовой карте, зависимой от устройства (Device — dependent bitmap, DDB). В нем перекрываются методы Assign, LoadFromClipboardFormat, LoadFromStream, SaveToClipboardFormat, SaveToStream. Объект взаимодействует с буфером обмена в формате CF_BITMAP. Канва битовой карты доступна через свойство: (roi property Canvas: TCanvas; Обратите внимание на то, что другие потомки TGraphic канвы не имеют. С ее помощью можно рисовать на поверхности изображения. Дескрипторы битовой карты и ее палитры доступны как свойства: property Handle: HBITMAP; property Palette: HPALETTE; Два метода function ReleaseHandle: HBITMAP; function ReleasePalette: HPALETTE; возвращают дескрипторы битовой карты и палитры и после этого обнуляют соответствующие поля, т. е. как бы "отдают" дескрипторы пользователю. При любом внешнем обращении к дескриптору битовой карты и любой попытке рисовать на ее канве, разделение одной картинки несколькими объектами прерывается, и объект получает свою отдельную копию содержимого дескриптора. Для этого есть методы: procedure Dormant ; — выгружает изображение в поток и уничтожает дескрипторы битовой карты и палитры, procedure Freelmage; — "освобождает" дескриптор битовой карты для дальнейшего использования и внесения изменений. Это означает, что если на данный дескриптор есть ссылки, то он дублируется; поток очищается. Битовая карта может быть монохромной и цветной, что определено свойством: property Monochrome: Boolean; Значение True соответствует монохромной битовой карте. При его изменении происходит преобразование содержимого к требуемому виду. "Фоновый" цвет битовой карты: (Ro) property TransparentColor: TColor; Это тот цвет, который можно отменить в операции BrushCopy, чтобы она выглядела прозрачной. Для монохромной карты этот цвет — белый. |