- •1. Химический состав Земли. Вещественный состав земной коры.
- •2. Геохронология и ее методы. Абсолютная геохронология. Относительная геохронология.
- •3. Понятие об эндогенных и экзогенных процессах. Примеры с использованием геоинформатики
- •5. Цели и задачи гИтехнологий и их связь с другими науками
- •6. История развития вычислительной техники и геоинформатики
- •Программное обеспечение: основные понятия и классификация
- •Основные этапы создания программного средства и программы быстрой разработки
- •Основные типы алгоритмов
- •Основные типы и структуры данных
- •Виды языков программирования
- •Структурное программирование. Основные понятия
- •13. Объектно-ориентированное программирование: основные понятия
- •1 4. Устройства ввода и вывода информации
- •15.Векторная форма представления графической информации. Форматы файлов. Преимущества и недостатки
- •16. Растровая форма представления графической информации. Форматы файлов. Преимущества и недостатки
- •17. Графические редакторы
- •18. Преобразование видов графики (векторизация и растеризация)
- •19. Основы программирования графики
- •20. Математические основы работы с графикой. Аффинные и полиномиальные преобразования
- •22. Роль и место баз данных в информационных системах
- •23. Виды и структура бд
- •24.Основные этапы формирования бд
- •25. Требования, предъявляемые к бд
- •26. Аномальность и избыточность бд. Основные нормальные формы таблиц
- •27. Терминология и структура языка sql
- •Основные категории команд языка sql:
- •Описание наиболее часто используемых команд каждой группы
- •28. Создание приложений, работающих с бд в режиме запросов (на примере Delphi)
- •29. Аппаратная среда мультимедиа технологий
- •30. Форматы файлов, использующихся в мультимедиа технологиях
- •31. Этапы и технология создания мультимедиа продукции
- •32. Структура микропроцессора
- •33. Память эвм
- •34. Основы ассемблера ibm-совместимого процессора эвм
- •36. Операционные системы
- •48. Основные понятия теории моделирования систем
- •50. Основные подходы к построению математических моделей систем
- •51. Этапы машинного моделирования систем
- •52. Статистическое моделирование
- •53. Планирование экспериментов с моделями систем
- •54. Понятие информационной системы
- •55. Открытые информационные системы: терминология и структура вос
- •57. Информационный рынок и место гис на нем
- •58. Технология ole
- •59. Технология dll
- •60. Создание визуальных компонентов (на примере Delphi)
- •67. Языки программирования, применяемые в Интернет
- •68. Сетевые операционные системы
- •69. Основные модели представления знаний предметной области в базе знаний
- •70. Экспертные системы: основные понятия и их применение в геоинформатике
- •71. Основы нейронных сетей
- •72.Аспекты извлечения знаний
- •73. Метод извлечения знаний
- •74. Определение и классификация архитектур ис
- •Жизненные циклы проектирования ис
- •Автоматизация процесса проектирования ис
- •Модели и диаграммы, используемые при проектировании ис
- •Стадии геолого-геофизических работ и применяемые средства и устройства
- •Принципы комплексирования геофизических методов
- •1. Принципы коррелируемости.
- •Принцип суперпозиции.
- •3.1. Качественная интерпретация при комплексировании геофизических методов.
- •3.2. Принципы количественной интерпретации комплексных геофизических данных.
- •80.Петрофизические и физико-геологоические модели в геоинформатике
- •81.Прямая и обратная задачи в прикладной геофизике.
19. Основы программирования графики
Графические компоненты
В стандартную библиотеку визуальных компонент Delphi входит несколько объектов, с помощью которых можно придать своей программе совершенно оригинальный вид. Это - TImage (TDBImage), TShape, TBevel.
TImage позволяет поместить графическое изображение в любое место на форме. Этот объект очень прост в использовании - выберите его на странице Additional и поместите в нужное место формы. Собственно картинку можно загрузить во время дизайна в редакторе свойства Picture (Инспектор Объектов). Картинка должна храниться в файле в формате BMP (bitmap), WMF (Windows Meta File) или ICO (icon). (TDBImage отображает картинку, хранящуюся в таблице в поле типа BLOB. При этом доступен только формат BMP.)
Как известно, форматов хранения изображений гораздо больше трех вышеназванных (например, наиболее известны PCX, GIF, TIFF, JPEG). Для включения в программу изображений в этих форматах нужно либо перевести их в формат BMP, либо найти библиотеки третьих фирм, в которых есть аналог TImage, “понимающий” данные форматы (есть как VBX объекты, так и “родные” объекты для Delphi).
При проектировании следует помнить, что изображение, помещенное на форму во время дизайна, включается в файл .DPR и затем прикомпилируется к EXE файлу. Поэтому такой EXE файл может получиться достаточно большой. Как альтернативу можно рассмотреть загрузку картинки во время выполнения программы, для этого у свойства Picture (которое является объектом со своим набором свойств и методов) есть специальный метод LoadFromFile. Это делается, например, так:
if OpenDialog1.Execute then Image1.Picture.LoadFromFile(OpenDialog1.FileName);
Важными являются свойства объекта Center и Stretch - оба имеют булевский тип. Если Center установлено в True, то центр изображения будет совмещаться с центром объекта TImage. Если Stretch установлено в True, то изображение будет сжиматься или растягиваться таким образом, чтобы заполнить весь объект TImage.
TShape - простейшие графические объекты на форме типа круг, квадрат и т.п. Вид объекта указывается в свойстве Shape. Свойство Pen определяет цвет и вид границы объекта. Brush задает цвет и вид заполнения объекта. Эти свойства можно менять как во время дизайна, так и во время выполнения программы.
TBevel - объект для украшения программы, может принимать вид рамки или линии. Объект предоставляет меньше возможностей по сравнению с TPanel, но не занимает ресурсов. Внешний вид указывается с помощью свойств Shape и Style.
Свойство объектов Canvas
У ряда объектов из библиотеки визуальных компонент есть свойство Canvas (канва), которое предоставляет простой путь для рисования на них. Эти объекты - TBitmap, TComboBox, TDBComboBox, TDBGrid, TDBListBox, TDirectoryListBox, TDrawGrid, TFileListBox, TForm, TImage, TListBox, TOutline, TPaintBox, TPrinter, TStringGrid. Canvas является в свою очередь объектом, объединяющим в себе поле для рисования, карандаш (Pen), кисть (Brush) и шрифт (Font). Canvas обладает также рядом графических методов : Draw, TextOut, Arc, Rectangle и др. Используя Canvas, Вы можете воспроизводить на форме любые графические объекты - картинки, многоугольники, текст и т.п. без использования компонент TImage,TShape и TLabel (т.е. без использования дополнительных ресурсов), однако при этом Вы должны обрабатывать событие OnPaint того объекта, на канве которого Вы рисуете. Рассмотрим подробнее свойства и методы объекта Canvas.
Свойства Canvas:
Brush -кисть, является объектом со своим набором свойств:
Bitmap - картинка размером строго 8x8, используется для заполнения (заливки) области на экране.
Color - цвет заливки.
Style - предопределенный стиль заливки; это свойство конкурирует со свойством Bitmap - какое свойство Вы определили последним, то и будет определять вид заливки.
Handle - данное свойство дает возможность использовать кисть в прямых вызовах процедур Windows API .
ClipRect - (только чтение) прямоугольник, на котором происходит графический вывод.
CopyMode - свойство определяет, каким образом будет происходить копирование (метод CopyRect) на данную канву изображения из другого места: один к одному, с инверсией изображения и др.
Font - шрифт, которым выводится текст (метод TextOut).
Handle - данное свойство используется для прямых вызовов Windows API.
Pen - карандаш, определяет вид линий; как и кисть (Brush) является объектом с набором свойств:
Color - цвет линии
Handle - для прямых вызовов Windows API
Mode - режим вывода: простая линия, с инвертированием, с
выполнением исключающего или и др.
Style - стиль вывода: линия, пунктир и др.
Width - ширина линии в точках
PenPos - текущая позиция карандаша, карандаш рекомендуется перемещать с помощью метода MoveTo, а не прямой установкой данного свойства.
Pixels - двухмерный массив элементов изображения (pixel), с его помощью Вы получаете доступ к каждой отдельной точке изображения (см. пример к данному уроку).
Методы Canvas:
Методы для рисования простейшей графики - Arc, Chord, LineTo, Pie, Polygon, PolyLine, Rectangle, RoundRect. При прорисовке линий в этих методах используются карандаш (Pen) канвы, а для заполнения внутренних областей - кисть (Brush).
Методы для вывода картинок на канву - Draw и StretchDraw, В качестве параметров указываются прямоугольник и графический объект для вывода (это может быть TBitmap, TIcon или TMetafile). StretchDraw отличается тем, что растягивает или сжимает картинку так, чтобы она заполнила весь указанный прямоугольник (см. пример к данному уроку).
Методы для вывода текста - TextOut и TextRect. При выводе текста используется шрифт (Font) канвы. При использовании TextRect текст выводится только внутри указанного прямоугольника. Длину и высоту текста можно узнать с помощью функций TextWidth и TextHeight.
Объект TPaintBox
На странице System Палитры Компонент есть объект TPaintBox, который можно использовать для построения приложений типа графического редактора или, например, в качестве места построения графиков (если, конечно, у Вас нет для этого специальных компонент третьих фирм). Никаких ключевых свойств, кроме Canvas, TPaintBox не имеет, собственно, этот объект является просто канвой для рисования. Важно, что координаты указателя мыши, передаваемые в обработчики соответствующих событий (OnMouseMove и др.), являются относительными, т.е. это смещение мыши относительно левого верхнего угла объекта TPaintBox, а не относительно левого верхнего угла формы.
