Відображення графічних зображень у Delphi
Для відображення графічних зображень у Delphi використовують компонент Іmage – зображення, що відноситься до групи додаткових (Additional) компонент. Зазвичай його поміщають на поверхню форми і використовують для відображення малюнків, в тому числі, що зберігаються у вигляді файлів.
Компонент Image є спадкоємцем класу TGraphicControl і має декілька власних властивостей, пов’язаних з графікою. Насамперед, це властивість Image – Picture, яка служить для безпосередньої роботи з зображеннями і має тип TPicture. Інші властивості Image відносяться до методів розміщення зображення в рамках даного компонента.
Властивість Center визначає, чи повинно зображення бути розміщено по центру чи ні, в останньому випадку воно буде вирівняно по лівому верхньому куту. Наступні дві властивості – Stretch і Proportional відповідають за масштабування зображення. Так, якщо властивість Stretch встановлено в істину, то зображення буде займати весь простір, відведений для компонента Image. Якщо воно при цьому менше, то воно буде збільшено, якщо більше – то стиснуто. При цьому пропорції (відношення ширини до висоти) самого зображення не враховуються, що зазвичай призводить до спотворень. Тому, починаючи з Delphi 6, було введено ще одну властивість – Proportional. Якщо її значення встановлено в істину, то зображення, в будь-якому випадку, збереже свої початкові пропорції. Крім того, якщо воно менше, ніж область, відведена для зображення, то воно залишиться у вихідних розмірах, якщо тільки властивість Stretch так само не встановлено в істину. Якщо ж малюнок більше, то, незалежно від значення, заданого для Stretch, він буде пропорційно зменшений до такого розміру, щоб поміститися в області компонента Image. Властивість Transparent відповідає за прозорість фонових ділянок зображення: коли вона має істинне значення, фоновий колір на малюнку замінюється прозорим фоном. Правда, даний ефект поширюється не на всі типи зображень.
Ще одна властивість, IncrementalDisplay, дозволяє обирати режим показу зображень: якщо встановити його в істину, то файли будуть відображатися поступово, у міру зчитування та розкодування. Це може бути актуально для великих стислих файлів, наприклад, для 5-мегапіксельних JPEG-зображень, особливо збережених у високій якості. При цьому можна отримувати інформацію про хід завантаження зображення за допомогою обробки події OnProgress.