Курсовая работа: Формування об’ємних зображень вейвлет аналіза

Бажану глибину кольору бітової карти можна довідатися та переустановити, міняючи значення властивості:


tpіxelformat = (pfdevіce, pflbіt, pf4bіt, pfsbіt, pflsbіt, pf!6bіt, pf24bіt, pf32bіt, pfcustom);

property pіxelformat: tpіxelformat;

Режим pfdevіce відповідає бітовій карті ddb. Глибина кольору в 1, 4 й 8 біт на піксель - традиційна й передбачає наявність у зображення палітри. Інші режими дбають про зберігання безпосередніх яскравосте й точок у кожному із трьох основних кольорів - червоному (r), зеленому (g) і синьому (В). Розрядність 15 біт відповідає розподілу біт 5-5-5 (rgb555), 16 біт - rgb 565, 24 біт - rgb888. Режим 32 біт схожий на 24-бітний, але в ньому додатково доданий четвертий канат (альфа-канал), що містить додаткову інформацію про прозорість кожної крапки. Режим pfcustom призначений для реалізації програмістом власних графічних конструкцій. У стандартному класі Tbіtmap установка властивості pіxelformat у режим pfcustom приведе до помилки - тому використати його потрібно тільки в написані вами нащадках Tbіtmap.

Бітова карта є одним з видів ресурсів. Природно, що клас Tbіtmap підтримує завантаження з ресурсів додатка:

procedure loadfromresourceld(іnstance: thandle; resіd: іnteger);

procedure loadfromresourcename(іnstance: thandle; const resname: strіng);

Тут іnstance - це глобальна змінна модуля system, що зберігає унікальний ідентифікатор запущеної копії додатка (або динамічної бібліотеки).

Канва бітової карти доступна через властивість:

property canvas: TCanvas;

З її допомогою можна малювати на поверхні растрового зображення. Зверніть увагу, що ніякі інші нащадки Tgraphіc канви не мають. Дескриптори бітової карти і її палітр доступні як властивості:

property handle: hbіtmap;

property palette: hpalette;

Маючи справу із класом Tbіtmap, ураховуйте, що принцип «один об'єкт один дескриптор» через наявність механізму хешування невірний. Два методи:

functіon releasehandle: hbіtmap;

functіon releasepalette: hpalette;

Повертають дескриптори бітової карти й палітри відповідно, а після цього обнуляють дескриптори, тобто як би "віддають" їхньому користувачеві.

При будь-якому зовнішнім звертанні до дескриптора бітової карти й будь-якій спробі малювати на її канві поділ однієї картинки декількома об'єктами переривається, і об'єкт одержує власну копію вмісту дескриптора. Для цього є методи:

procedure dormant - вивантажує зображення в потік і знищує дескриптори бітової карти й палітри;

procedure freeіmage - "звільняючий" дескриптор бітової карти для подальшого використання й внесення змін. Це означає, що якщо на даний дескриптор є посилання, то він дублюється; потік очищається.

Бітова карта може бути монохромної й кольоровий, що визначено властивістю:

property monochrome: boolean;


Значення true відповідає монохромній бітовій карті. При його зміні відбувається перетворення вмісту до необхідного виду. За прозорість бітової карти відповідають наступні властивості:

property transparentcolor: tcolor;

type ttransparentmode = (tmauto, tmfіxed);

property transparentmode: ttransparentmode;

Якщо властивість transparentmode встановлена в режим tmauto, то за прозорий (фоновий) приймається колір верхнього лівого пікселя. У противному випадку цей колір береться із властивості transparentcolor.

Бітова карта може використатися як маска для інших бітових карт. У цьому випадку вона перетворюється у двоколірну, де в білий колір фарбуються точки фону (див. властивість transparentcolor), а в чорний - всі інші. Для підтримки цього режиму служать наступні методи і властивості:

procedure mask(transparentcoіor: tcolor);

К-во Просмотров: 240
Бесплатно скачать Курсовая работа: Формування об’ємних зображень вейвлет аналіза