- •Передмова
- •1. Графічний інструментарій
- •1.1. Клас tFont
- •1.2. Клас тРеn
- •1.3. Клас tBrush
- •1.4. Клас tCanvas
- •1.5. Класи tGraphic і tPicture
- •2. Приклади використання графічного інструментарію
- •2.1. Приклад 1
- •2.2. Варіанти індивідуальних завдань
- •2.3. Приклад 2
- •2.4. Варіанти індивідуальних завдань
- •Список літератури
- •83055, М. Донецьк, вул. Університетська, 24
- •83055, М. Донецьк, вул. Університетська, 24
1.5. Класи tGraphic і tPicture
TGraphic – це абстрактний клас, що інкапсулює загальні властивості й методи своїх нащадків, таких як піктограми (TIcon), метафайл (TMetafile), растрове зображення (TBitmap), а також TClipboard, TYPEGImage, TOLEGraphic, TPicture і т.ін. Зазвичай нащадки зберігаються у файлах визначеного формату. Піктограми – це невеликі растрові зображення з регульованою їхньою прозорістю ( .ICO). Метафайл – це зображення, побудоване на графічному пристрої за допомогою спеціальних команд ( .WMF або .EMF). Растрові зображення – це довільні графічні зображення ( .BMP).
Таблиця 1.8. Властивості класу TGraphic
Empty: Boolean; |
Містить True, якщо з об'єктом не пов'язане графічне зображення |
Height: Integer; |
Містить висоту зображення в пік селях |
Modified: Boolean; |
Містить True, якщо графічний об'єкт змінювався |
Palette: HPALETTE; |
Містить палітру кольорів графічного об'єкту |
PaletteModified: Boolean; |
Містить True, якщо змінювалася палітра кольорів графічного об'єкту |
Transparent: Boolean; |
Містить True, якщо об'єкт прозорий для фону, на якому він зображений |
Width: Integer; |
Містить ширину зображення в пікселях |
Таблиця 1.9. Методи класу TGraphic
procedure LoadFromClipboardFormat (AFormat: Word; AData: THandle; APalette: HPALETTE); |
Шукає в буфері міжпрограмного обміну Clipboard зареєстрований формат AFormat і, якщо формат знайдений, завантажує з буфера зображення AData і його палітру APalette |
procedure LoadFromFile (const FileName: String); |
Завантажує зображення з файлу FileName |
procedure SaveToClipboardFormat (Var AFormat: Word; var AData: THandle; var APalette: HPALETTE); |
Розташовує графічне зображення AData і його палітру кольорів APalette у буфері міжпрограмного обміну у форматі AFormat |
procedure LoadFromStream (Stream: TStream); |
Завантажує зображення з потоку даних Stream |
procedure SaveToFile (const FileName: String); |
Зберігає зображення у файлі FileName
|
procedure SaveToStream (Stream: TStream); |
Зберігає зображення в потоці Stream |
Клас TPicture інкапсулює у собі все необхідне для роботи з готовими графічними зображеннями – піктограмою, метафайлом, растром або картинкою користувача. Його властивість Graphic може містити об'єкт кожного з цих типів, забезпечуючи потрібний поліморфізм методів класу.
Таблиця 1.10. Властивості класу TPicture
Bitmap: TBitmap; |
Інтерпретує графічний об'єкт як растрове зображення |
Graphic: TGraphic; |
Містить графічний об'єкт |
Height: Integer; |
Містить висоту зображення в пікселях |
Icon: ТIcon; |
Інтерпретує графічний об'єкт як піктограму |
Metafile: TMetafile; |
Інтерпретує графічний об'єкт як метафайл |
Width: Integer; |
Містить ширину зображення в пікселях |
Таблиця 1.11. Методи класу TPicture
procedure Assign(Source: TPersistent); |
Зв'язує власний графічний об'єкт Graphic з об'єктом Source |
procedure LoadFromClipboardFormat (Format: Word; AData: THandle; APalette: HPALETTE); |
Шукає в буфері міжпрограмного обміну Clipboard зареєстрований формат AFormat і, якщо формат знайдений, завантажує з буфера зображення AData і його палітру APalette |
procedure LoadFromFile(const FileName: String); |
Завантажує зображення з файлу FileName |
class procedure RegisterClipboardFormat (AFormat: Word; AGraphicClass: TGraphicClass); |
Використовується для реєстрації в Clipboard нового формату зображення |
class procedure RegisterFileFormat (const AExtension, ADescription: String; AGraphicClass: TGraphicClass); |
Використовується для реєстрації нового файлового формату |
class procedure RegisterFileFormatRes(const AExtension: String; ADescriptionResID: Integer; AGraphicClass: TGraphicClass); |
Використовується для реєстрації нового формату ресурсного файлу |
procedure SaveToClipboardFormat (var AFormat: Word; var AData: THandle; var APalette: HPALETTE); |
Розташовує графічне зображення AData і його палітру кольорів APalette у буфері міжпрограмного обміну у форматі AFormat |
procedure SaveToFile(const FileName: String); |
Зберігає зображення у файлі FileName |
class function SupportsClipboardFormat (AFormat: Word): Boolean; |
Повертає True, якщо формат AFormat зареєстрований у буфері міжпрограмного обміну Clipbord |
class procedure UnregisterGraphicClass (AClass: TGraphicClass); |
Робить недоступними будь-які графічні об'єкти класу Aclass |
