Visual FoxPro версии 8.0 и
последующих версий вместо собственных средств для представления файлов
форматов Graphics Interchange Format (.gif) и Joint Photographic Electronic Group (.jpeg)
использует средства Graphics Device Interface+ (GDI+)
для Microsoft Windows XP и
последующих версий. Visual FoxPro поддерживает все
форматы, которые обрабатывает GDI+, включая
анимированные .gif файлы.
Следующая таблица показывает графические форматы, поддерживаемые Visual FoxPro.
Расширение файла
|
Наименование типа файла
|
.ani
|
Анимированный курсор (Animated Cursor)
|
.bmp
|
Растр (Bitmap)
|
.cur
|
Курсор (Cursor)
|
.dib
|
Device Independent Bitmap
|
.emf
|
Windows Enhanced Metafile
|
.exif
|
Exchangeable Image File
|
.gif, .gfa
|
Graphics Interchange Format
|
.ico
|
Иконка (Icon)
|
.jpg, .jpeg, .jpe, .jfif
|
Joint Photographic Electronic Group, JPEG File Interchange Format
|
.png
|
Portable Networks Graphics
|
.tif, .tiff
|
Tag Image File Format
|
.wmf
|
Windows метафайл (Windows Metafile)
|
Примечание |
---|
В Visual FoxPro курсор, анимированный курсор и иконка могут
использоваться как графические файлы. Например, вы можете указать файл
анимированного курсора в свойстве Picture для элемента управления Image.
Однако элемент управления Image отобразит
этот курсор в статичном (не анимированном) виде.
|
Если Visual FoxPro не может
распознать специфические версиии поддерживаемых им форматов,
таких, как .bmp, .dib, .cur, .ani, или .ico,
то он передает их в GDI+ для
обработки и отображения. Поэтому, поскольку новые
статические форматы будут поддерживаться в будущих версиях GDI+,
Visual FoxPro тоже сможет поддерживать их автоматически.
С использованием GDI+ в Visual FoxPro
добавилось свойство RotateFlip
в элементе управления Image, с
помощью которого вы можете вращать и инвертировать или переворачивать
изображение.
Для большей информации смотрите
свойство RotateFlip.
Примечание |
---|
GDI+ устанавливается вместе с операционной системой
Windows XP и необходим для запуска Visual FoxPro. Visual FoxPro
содержит в себе модуль слияния с GDI+
для распространения пользовательских приложений,
работающих под операционными системами Windows 98, Windows Me
и Windows 2000 (для этого нужно
использовать InstallShield Express for Visual Foxpro,
входящий в дистрибутив Visual FoxPro).
|
Visual FoxPro обеспечивает использование графики
при помощи трех нижеследующих возможностей:
Язык
Visual FoxPro
Вы можете использовать функцию GETPICT( )
для доступа к диалоговому окну Visual FoxPro,
с помощью которого осуществляется взаимодействие с файлами допустимых
графических форматов. Вы можете также получить доступ к графике
через свойства элементов управления и объектов, описываемых здесь ниже.
Элементы
управления и объекты
Следующая таблица показывает элементы управления и объекты со
свойствами, для которых можно указать графические файлы. Вы можете указать .gif, .jpg, .cur, .ani,
и .ico
графические файлы для этих свойств в дополнении к .bmp и .dib графическим
файлам, поддерживаемых в предыдущих версиях Visual FoxPro.
Элемент управления или объект
|
Свойства
|
Элемент управления CheckBox
|
DisabledPicture, DownPicture Picture
|
Элемент управления CommandButton
|
DisabledPicture, DownPicture Picture
|
Элемент управления ComboBox
|
Picture
|
Объект Container
|
Picture
|
Объект Control
|
Picture
|
Объект Custom
|
Picture
|
Объект Form
|
Picture
|
Элемент управления Image*
|
Picture
|
Элемент управления ListBox
|
Picture
|
Элемент управления OptionButton
|
DisabledPicture, DownPicture Picture
|
Объект Page
|
Picture
|
Системная переменная _SCREEN
|
Picture
|
* Visual FoxPro поддерживает анимированные .gif файлы только для
свойства Picture элемента управления Image.
Интерфейс
пользователя
Вы можете выбрать графические файлы при помощи
диалогового окна Open (Открыть)
в некоторых конструкторах Visual FoxPro.
Диалоговое окно Open для
ниже перечисленных конструкторов содержит в
себе все допустимые форматы графических файлов.
Конструкторы форм и классов
Вы можете найти и выбрать изображение, вызвав
диалоговое окно Open в конструкторах форм
и классов для вышеуказанных свойств в тех
элементах управления, которые поддерживают использование графических
файлов.
Выбор изображения в конструкторах форм
и классов
Visual FoxPro выведет диалоговое окно Open для поиска и выбора
изображения.
Менеджер проекта
Вы можете найти, выбрать и добавить графический файл к проекту в
менеджере проекта.
Добавление графического файла к
проекту
Visual FoxPro выведет диалоговое окно Open для поиска и выбора
изображения.
GDI+
Поддержка изображения
GDI+ - это основанный на классах
интерфейс прикладного программирования (Application Programming Interface
- API) для программистов, пишущих на C/C++.
Это позволяет приложениям использовать графику и
форматированный текст как на экране, так и для вывода на печать.
Приложения, базирующиеся на Microsoft Win32 API
не взаимодействуют с графическими устройствами
непосредственно. Вместо этого GDI+
взаимодействует с драйверами устройств от имени
приложений. GDI+ также поддерживается 64-bit Windows
операционными системами.
GDI+ может использоваться во всех Windows-приложениях. GDI+
содержится в операционных системах Microsoft Windows XP и Windows Server 2003. GDI+
необходим и доступен для Visual FoxPro приложений,
которые запускаются в операционных системах Windows 2000, Windows Millennium Edition
и Windows 98. Для загрузки самых последних и свежих
версий дистрибутивов посетите сайт Microsoft Windows Platform SDK:
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
или сайт Microsoft Download Center: http://www.microsoft.com/downloads/.
Файл GDIPlus.dll должен быть размещен в системной
папке компьютера пользователя (для Windows 2000,
например, в папке ...\SYSTEM32).
Поддержка
анимированных .gif изображений
Анимированные .gif файлы
являются популярным видом файлов формата .gif. Они
имеют то же расширение (.gif) и содержат
специальные фреймы (кадры) изображений, циклически сменяющихся и
производящих при этом эффект анимации. Visual FoxPro поддерживает
анимированные .gif файлы так, как показано ниже:
-
Visual FoxPro поддерживает анимированные .gif файлы только для
свойства Picture в элементе управления Image.
-
Анимированные .gif файлы отображаются как в режиме
разработки, так и в режиме времени выполнения программы.
-
Visual FoxPro показывает только первый фрейм
анимированного .gif файла , если это не элемент
управления Image.
-
Visual FoxPro воспроизводит анимированный
.gif файл основываясь исключительно на его внутреннем
счетчике.
-
Visual FoxPro делает паузу в одну секунду между
повторами анимации.
-
Если размер или положение элемента управления
Image изменяются во время исполнения
программы (run-time), в
то время, когда происходит анимация, Visual FoxPro
переключается на первый фрейм (кадр) и продолжает сначала.
-
Visual FoxPro отображает изображение .gif
тем размером, который был указан создателем .gif,
но не элементом управления Image.
Visual FoxPro не обрезает и не масштабирует
изображение.
-
В процессе анимации полное изображение или его
часть стираются, чтобы следующий фрейм мог быть перерисован.
Visual FoxPro сводит к минимуму излишние перерисовки
для предотвращения появления мерцания. Если
позиция изображения изменилась, например,
элемент управления или его контейнер были перемещены,
целая часть изображения должна быть перерисована.
-
Та как Visual FoxPro
сохраняет представление отдельного изображения
как скрытую битовую карту, несколько элементов
управления Image, использующих
один и тот же анимированный файл, всегда синхронизированы между собой. Если вы хотите, чтобы анимация одного и того
же изображения для различных элементов управления Image
отличалась, нужно создать копии каждого анимированного .gif
и переименовать их.
-
Создатель анимированных .gif
файлов может указать время между фреймами. Это
время может варьироваться между каждым фреймом.
-
Если вы используете анимированный .gif файл не в элементе
управления Image, анимации не происходит.
Однако, если позже вы используете изображение в элементе управления
Image, изображение анимируется только если вы сначала выполните команду
CLEAR...RESOURCES. Это происходит потому, что
изображение уже записано в память, и
анимационный атрибут будет игнорироваться, когда изображение
перерисовывается в элементе управления, не являющимся
Image. Вы должны использовать команду CLEAR...RESOURCES
для перезагрузки изображения в память.
Смотрите
также