Главная » Delphi » Обработка изображений WebSnap

0

Практически каждое  Web приложение содержит графику. Графика не только  укра шает  приложение но и способна обладать функциональными возможностями. Естест венно, WebSnap  позволяет использовать в создаваемых приложениях рисунки  и графи ку так же легко и просто, как и все остальное. Как и следовало ожидать, WebSnap  позво ляет  использовать рисунки   и  графику   из  любого   доступного источника:  из  файла, ресурса,  потоковой базы  данных  и  так  далее.  Любые  графические данные, которые можно поместить в поток, можно использовать в приложении WebSnap.

Используя панель  инструментов Internet, добавьте новую  страницу  в проект при ложения. Используйте генератор типа  TAdapterPageProducer, создайте публикуе мую и защищенную страницу. Назовите страницу Images и сохраните ее под именем wmImages. Затем  перейдите к Web модулю Images и, добавив  компонент TAdapter, сохраните его под именем ImageAdapter. И, наконец, дважды  щелкнув  на элементе ImageAdapter, добавьте два поля  типа  TAdapterImageField. Каждый  из них пред ставит свой способ отображения изображений.

Сначала  отобразим рисунок  на основании его URL. Выберите первый элемент AdaperImageField и установите в его свойстве HREF полный адрес  URL,  указываю щий на рисунок  расположенный на локальном сервере Internet или где нибудь в дру гом месте.  Например, если  хочется просмотреть хронологию изменения биржевых котировок  Borland за  последний  год,  установите значение  свойства  HREF равным http://chart.yahoo.com/c/1y/b/borl.gif.

Дважды  щелкните в Web модуле Images на компоненте TAdapterPageProducer,

добавьте новую  форму  AdapterForm, а затем  добавьте в нее  AdapterFieldGroup.

Установите свойство AdapterFieldGroup этого  нового адаптера в состояние Im-

ageAdapter. Затем  вновь  щелкните правой кнопкой мыши на компоненте Adapter-

FieldGroup и выберите в появившемся меню  пункт Add All Fields. Установите поле ReadOnly компонента AdapterImageField в состояние True, это  отобразить рису нок  на  странице. Если  установить  его  в состояние False, то  вместо  рисунка  будет отображено поле редактирования и кнопка, позволяющие выбрать имя файла. В дан

ном  случае  необходимо изображение, поэтому  установите это  свойство в состояние True. При  просмотре изображения в первый раз  обратите внимание на небольшой заголовок рисунка.  Обычно от него стараются избавиться, поэтому  установим в свой стве  Caption пробел. (Обратите внимание: заголовок не  может  быть  пуст.)  Теперь просмотрим диаграмму в окне Web дизайнера, как показано на рис. 23.12.

НА ЗАМЕТКУ

Если к изображению необходимо обратиться по относительной ссылке, чтобы видеть рисунок и во время разработки, то каталог файлов изображений следует добавить в путь поиска (Search Path) отладчика Web-приложений.

С выводом на экран  изображения на основании его URL все ясно.  Но иногда  нуж но получать  изображение из потока. Компонент AdapterImageField обеспечивает поддержку   и  для  этого   случая.  Выберите  второй  компонент AdapterImageField формы ImageAdapter и откройте инспектор объектов. Перейдите к странице собы тий и дважды щелкните на событии OnGetImage. Поместите файл изображения .JPGв  каталог   приложения  (демонстрационное  приложение  на  CD  использует   файл

athena.jpg) и создайте свой обработчик события, похожий на следующий:

procedure TImages.AdapterImageField2GetImage(Sender: TObject; Params: TStrings; var MimeType: String; var Image: TStream; var Owned: Boolean);

begin

MimeType := ‘image\jpg';

Image := TFileStream.Create(‘athena.jpg’, fmOpenRead);

end;

Рис. 23.12. Web дизайнер с графическим  изображением поля ImageAdapter- Field

Это совсем  простой код. Image — это  переменная потока, которая создается и за полняется изображением. Конечно, приложению должен  быть известен тип загру жаемого  изображения, его необходимо указать в параметре MimeType. Решение с по мощью класса TFileStream достаточно просто, но позволяет получать  изображение из любого  источника, например поля  BlobStream базы  данных  или  созданного ди намически и переданного в память  в потоке. Теперь при  запуске  приложения на эк ране должно  появиться выбранное изображение JPG (справа или ниже  диаграммы биржевых котировок).

Источник: Тейксейра, Стив, Пачеко, Ксавье.   Borland Delphi 6. Руководство разработчика. : Пер.  с англ. — М. : Издательский дом “Вильямс”, 2002. —  1120 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии