Створення інтерфейсу в delphi з використанням png-графіки - delphi - програмні продукти

На ринку програмного забезпечення все більше і більше стало з'являтися програм з використанням свого стильного інтерфейсу. WinAMP, Windows Media Player, Nero Smart Start і багато інших. Відмінною особливістю перерахованих мною програм є їх здатність змінювати колір інтерфейсу, саме колір, а не саме оформлення.







Зовсім недавно переді мною постало завдання створити в Delphi 7 інтерфейс програми в стилі Windows Media Player (WMP), надавши користувачу вибирати колір панелей (зовсім як в WMP). Провівши кілька годин в Інтернеті, я знайшов лише готові скіни і компоненти для їх використання в додатках, написаних в Delphi. Використання зміни кольорової палітри всіх зображень в програмі відбувалося повільно і не дуже підходило під мої потреби. Таким чином, я вирішив подумати своїми мізками :-)

Після деяких роздумів і експериментів я вирішив використовувати png-графіку. Рішення було винесено на користь png тому, що цей формат підтримує прозорість і напівпрозорість. Створивши в фотошопі кілька зразків з різними ефектами типу градієнтів, прозорості, злиття прозорих градієнтів і іншого, я почав експериментувати в Delphi. На радість вся інтеграція png-графіки зводилася до розміщення на формі компонента TImage і завантаженні в нього png -зображення :-)







Тепер про те, як це зробити самому.

Створіть нове зображення, потім для самого простого прикладу зробіть заливку білим градієнтом.
Залийте фоновий шар чорним кольором (або будь-яким іншим темним кольором).
Потім створіть новий шар. залийте його білим градієнтом. Після закінчення роботи з градієнтами і перед збереженням в png, видаліть або вимкніть фоновий шар.
Збережіть зображення як png-файл.
На цьому створення найпростішого прикладу в фотошопі закінчено, приступаємо до роботи в Delphi.

Додавання підтримки PNG в Delphi

Створіть новий проект, помістіть на форму компоненти: TColorBox і TPanel, на TPanel встановіть TShape (він буде фоном нашого png-зображення) встановіть властивість TShape Align рівне alClient.

Далі на ту ж панель поміщаємо TImage, також ставимо йому властивість Align рівне alClient.

Потім завантажуємо в TImage наше png-зображення, і, якщо ви все правильно зробили в фотошопі, то після завантаження зображення Ви нічого не повинні побачити - тільки білий фон (білий градієнт на білому TShape - тепер вам зрозуміло, чому не можна зробити оформлення WMP повністю білим :-)). Тепер напишемо процедуру на зміну TColorBox - OnChange. Зовсім просто (в нашому прикладі):

procedure TForm1.ColorBox1Change (Sender: TObject);
begin
Shape1.Brush.Color: = ColorBox1.Selected;
end;

Тепер запускаємо додаток і пробуємо змінити колір в TColorBox1. Тепер Вам все повинно стати зрозуміло. Використання панелей дає можливість змінювати колір інтерфейсу по частинах або створити більш темніші або світліші зони в вашому додатку.

Приклади інтерфейсів із змінними кольорами:







Схожі статті