Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга о KOL.doc
Скачиваний:
29
Добавлен:
30.04.2019
Размер:
1.77 Mб
Скачать

6.7.3.3. Основной объект (tGif).

Объектный тип TGif обеспечивает всю основную функциональность по работе с анимированными GIF-изображениями. Например, он умеет рисовать текущий кадр (методы Draw, DrawTransp, DrawTransparent, StretchDraw, StretchDrawTransp, StretchDrawTransparent), управлять переключениями кадров (свойство Frame), а так же выполнять загрузку и декодирование всего GIF-изображения. Но он не обеспечивает отслеживание хода времени для корректной анимации изображения.

6.7.3.4. Визуальная анимация Gif-изображения в окне (tGifShow).

Визуальный объект TGifShow унаследован от основного визуального объекта пакета KOL – от TControl. Он самостоятельно переключает кадры, по возможности вовремя обновляя анимацию на экране, когда его свойство Animate установлено в значение TRUE. / Как я уже говорил, вместо него есть возможность использовать объект TAniShow из модуля Animation, при этом становятся доступными и другие форматы анимированных изображений. /

6.7.4. Изображения png

Изображения PNG – это неплохая альтернатива двум предыдущим форматам (когда речь идет о статичных изображениях без анимации). В отличие от JPEG-формата, PNG является lossless-форматом, то есть при компрессии изображение не искажается (lossless означает «без потерь»). Какие-либо патентные ограничения на применение этого формата отсутствуют, в отличие от GIF, а качество сжатия не хуже, и существует возможность сжатия полноцветных (TRUE COLOR) изображений, обеспечивая еще и прозрачность. Как известно, GIF-формат может хранить не более 256 различных цветов.

Никаких существенных особенностей в плане применения объекта TPngObject из пакета KOLPng нет, единственное, что следует отметить – это тот факт, что для компрессии и декомпрессии используется пакет ZLib, который следует скачать отдельно (и прописать в проекте путь к его модулям).

6.7.5. Библиотека kolGraphic

Усилиями Дмитрия a.k.a. Dimaxx для библиотеки KOL была конвертирована библиотека KOLGraphic Майкла Лишке. Эта библиотека обеспечивает поддержку огромного количества графических форматов. Приведу здесь только их список:

  • Silicon Graphic Images (*.bw, *.rgb, *.rgba, *.sgi)

  • Autodesk Images (*.cel, *.pic)

  • 1,8,16 & 24(32) bits per pixel TIFF Images (*.tif, *.tiff)

  • Enhanced PostScript images (*.eps)

  • Targa Images (*.tga; *.vst; *.icb; *.vda; *.win)

  • ZSoft PCX Images (*.pcx; *.dcx, *.pcc; *.scr)

  • Kodak Photo CD Images (*.pcd)

  • Portable Map Graphic Images (*.ppm, *.pgm, *.pbm)

  • Dr. Halo Images (*.cut + *.pal)

  • CompuServe GIF Images (*.gif)

  • RLA Images (*.rla, *.rpf)

  • Photoshop Images (*.psd, *.pdd)

  • Paint Shop Pro Images file version 3 & 4 (*.psp)

  • Portable Network Graphic Images (*.png)

Если вы собираетесь написать еще одну программу для просмотра изображений с поддержкой большого числа графических форматов, то эта библиотека очень даже пригодилась. По крайней мере, в своей программе Zoomer я ее с успехом опробовал. Не все заявленные форматы поддерживаются, правда, не на 100% (например, TIFF-файлы, закодированные в формате FAX3, не отображаются). Но в любом случае, на безрыбье и рак – рыба.

6.7.6. Использование GDI+ (KOLGdiPlus)

Очень перспективной является ориентация на использование новой графической библиотеки GDI+. Благодаря Thaddy de Koning (Нидерланды), который адаптировал для нас код Dave Jewell, программисты, использующие KOL, уже сейчас имеют возможность опробовать возможности этой библиотеки. Как только старые операционные системы покинут арену персоналок, у каждого пользователя операционной системы Windows библиотека gdiplus.dll окажется предустановленной, и грех будет не воспользоваться ее возможностями. (Вот только когда это случится? – народ до сих пор не спешит расставаться даже с Windows 95…).