property Palette: HPalette; П вы можете увековечить себя, установив два свойства метафайла:

property Description: string;
property CreatedBy: string;

Содержащаяся в них информация записывается в файл и может быть прочитана благодарными потомками.

Класс Thon

Этот класс инкапсулирует значок Windows.

Не пытайтесь изменить размеры значка - они по определению постоянны (и равны GetSystemMetrics(SM_CXICON) И GetSystemMetrics(SM_CYICON)), И При попытке присвоить новые значения возникает исключительная ситуация EinvalidGraphicOperation. Значок нельзя также читать и писать в буфер обмена, т. к. в Windows нет соответствующего формата.

Свойство Transparent для значка всегда равно значению True. Изменить его нельзя - значки прозрачны также по определению.

В ЭТОМ классе перекрываются методы класса TGraphic: Assign, LoadFromStream и SaveToStream. Дополнительно также определены:

□ property Handle: HICON;
- Дескриптор значка;

□ function ReleaseHandle: HICON; - метод "отдает" дескриптор - возвращает его значение, обнуляя ссылку на него в объекте.

Класс TBitmap

Класс TBitmap является основой растровой графики в Delphi. В первых версиях среды этот класс соответствовал битовой карте, зависимой от устройства (Device Dependent Bitmap, DDB). Этот формат хорош для деловой графики - отображения небольших картинок с малой глубиной цвета, например, на кнопках. Формат DDB появился во времена первых версий Windows, когда еще не было графических ускорителей и кое-где еще помнили о EGA. Поэтому и форматы хранения были привязаны к определенным видеорежимам.

Со временем аппаратура совершенствовалась, росло и количество поддерживаемых видеорежимов. Появились режимы High Color (15-16 бит на точку) и True Color (24 бита на точку). Все это привело к тому, что картинка стала храниться в аппаратно-независимом формате (Device Independent Bitmap, DIB), а проблемы ее быстрого отображения легли на аппаратуру и драйверы.

За формат битовой карты - DIB или DDB - отвечает свойство:

type TBitmapHandleType = (bmDIB, bmDDB);
property НапсПеЯуре : TBitrrepHancneType;

По умолчанию устанавливается режим bmDIB. Впрочем, можно заставить приложение, написанное на Delphi, вернуться к старому типу. Для этого нужно установить глобальную переменную DDBsOnly (модуль GRAPHICS.PAS) в значение True. Впрочем, необходимость этого сомнительна. Все новые видеокарты и драйверы к ним, а также графические интерфейсы (такие, как DirectX) оптимизированы для использования DIB.

Желаемую глубину цвета битовой карты можно узнать и переустановить, меняя значение свойства:

TPixelFormat = (pfflevice, pfJJoit, pf4bit, pf8bit, pflSbit, pflobit, pf24bit, pf32bit, pfCustom);
property PixelFormat: TPixelFormat;

Режим pfDevice соответствует битовой карте DDB. Глубина цвета в 1, 4 и 8 бит на пиксел - традиционная и предусматривает наличие у изображения палитры. Другие режимы заботятся о хранении непосредственных яркостей точек в каждом из трех основных цветов - красном (R), зеленом (G) и синем (В). Разрядность 15 бит соответствует распределению бит 5-5-5 (RGB555), 16 бит - RGB 565, 24 бит - RGB888. Режим 32 бит похож на 24-битный, но в нем дополнительно добавлен четвертый канал (альфа-канал), содержащий дополнительную информацию о прозрачности каждой точки. Режим pfcustom предназначен для реализации программистом собственных графических конструкций. В стандартном классе TBitmap установка свойства PixelFormat в режим pfcustom приведет к ошибке - поэтому использовать его нужно только в написанных вами потомках TBitmap.


⇐ Предыдущая страница| |Следующая страница ⇒

Программирование в Delphi 7



Новости за месяц

  • Август
    2017
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс