Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы по теории.docx
Скачиваний:
4
Добавлен:
28.09.2019
Размер:
530.05 Кб
Скачать

Билет №25: Битовые карты

1) Битовой картой называется участок памяти, организованный для хранения картинки. Тип: TBitMap.

2) Картинку битмапа можно сохранять методом SaveToFile.

3) Копирование изображений

Удобным средством построения сложных изображений, содержащих множество персонажей и двигающихся фигур, является прием копирования одной прямоугольной области канвы на другую. В зависимости от конкретной задачи целесообразно использовать следующие методы копирования.

  • Canvas.Draw(X, Y, b): копирует на указанную канву Canvas картинку, которая содержится в графическом объекте b типа TGraphic (объединяет графические форматы .jpg, .jpeg, .ico, .emf, .wmf обычно b - битовая матрица .bmp). Картинка копируется на Canvas без изменения размера, начиная от точки с целыми координатами X, Y. В процессе выполнения операции может соблюдаться требование «прозрачности». Прозрачными считаются точки особого цвета, который указан свойством TransparentColor, например,         b.TransparentColor:=0 Такие точки не копируются, создавая впечатление прозрачных частей картинки b. Чтобы разрешить это действие необходимо установить свойство         b.Transparent:=True В противном случае прозрачность игнорируется.

  • Canvas.StretchDraw(область,b): делает тоже, масштабируя и подгоняя картинку под размеры прямоугольной «области». Параметр «область» является объектом типа TRect и может указываться непосредственно, например,        Canvas.StretchDraw(Rect(40, 20, 100,50), b)

  • Canvas.CopyRect(D, канва-источник, S): универсальный метод копирования части одной канвы на другую. Параметры «канва-источник» и  S задают канву картинки-оригинала и её прямоугольный фрагмент типа TRect, например,        Canvas.CopyRect(Rect(40, 20, 100,50),  b.canvas,  Rect(0, 0, 200,150)) Копирование осуществляется на Canvas с подгонкой в прямоугольник D типа TRect. Прозрачность не соблюдается, но в момент наложения точек выполняется некоторая логическая операция с цветом. Вид операции определяется режимом Canvas.CopyMode, который может быть таким:      CopyMode:=cmSrcCopy      - простое копирование;   CopyMode:=cmSrcAnd        - режим AND;   CopyMode:=cmSrcPaint      - режим OR;   CopyMode:=cmSrcInvert     - режим XOR

Canvas.BrushCopy(D, канва-источник, S, цвет): копирует одну часть канвы на другую, используя параметры D, канва-источник, S как выше. Режим копирования игнорируется. Области, состоящие из точек заданного «цвета» заливаются кистью в соответствии с установками Canvas.Brush.

4) Разработка собственного шаблона заливки. При заливке области кистью используется шаблон (орнамент), который выбирается свойствами кисти Brush.SetStyle:=… из нескольких предопределённых вариантов. Программист имеет возможность разработать собственный шаблон в виде битмапа 8х8 точек, который загружается в свойства кисти Brush.Bitmap:=Nil; - сбрасывается.

Билет №26,27:

Проект Delphi

  • Проектом называется совокупность головного модуля, подключаемых к нему библиотечных модулей и вспомогательных файлов, которые совместно участвуют в построении программы.

  • Проект удобен при коллективной разработке программы.

  • Обычно в состав проекта входит головной модуль с расширением dpr и модуль формы (окна программы) с расширением pas

Заготовка проекта создаётся по умолчанию, или из меню

File\New\Application

  • Язык Delphi разработан для программирования в операционной системе Windows. Он использует идеологию этой системы

  1. главным элементом системы Widows является окно, обладающее визуальными свойствами (размер, цвет, заголовок и др.)

  2. окно содержит другие элементы (кнопки, окна редактирования и т.п.)

  3. в окнах происходят события, которые отслеживаются и обрабатываются системой (нажатия клавиш, щелчки мыши и др.)

  • Программирование в Delphi строится по модульному принципу. Программа пишется в виде проекта, состоящего из головного модуля и подключаемых к нему библиотек. В библиотеках реализуются главные цели программы. Например, программный код, определяющий структуру и функционирование главного окна (формы), описывается в виде библиотеки.

Код головного модуля обычно скрыт, а на экране отображена форма и текст её библиотечного модуля

Форма описывается как объект в три этапа

  1. Сначала в разделе Type описывается заголовочная часть (интерфейс) при помощи ключевого слова Class. Форма наследуется от класса TForm. В заголовке объявляются свойства и методы класса.

  2. Затем пишутся тексты методов (по умолчанию методы отсутствуют).

  3. Сам объект формируется в разделе Var в виде переменной данного класса.

Для управления компиляцией, пуском или остановкой программы используется меню, горячие клавиши и быстрые кнопки.

Форма обладает многими свойствами. Свойства отражены в инспекторе объектов на закладке Propertis

Главной задачей формы является стабилизация изображения в окне, защита его от перекрытия другими окнами. Форма реагирует на разнообразные события, препятствуя разрушению изображения.

Одним из важнейших событий является OnPaint. Это событие возникает всякий раз, когда Windows решает, что необходимо перерисовать окно формы. Для обработки события создаётся специальный метод, выполняющий перерисовку изображения на канве формы.

Заготовка подпрограммы, обслуживающей данное событие, выбирается на закладке Events инспектора объектов щелчком в окне против слова OnPaint

  • При разработке программ используются готовые компоненты, которые вставляются в проект и существенно облегчают программирование интерфейса и других вспомогательных задач.

  • Выбор компонент и определение их параметров осуществляется в визуальной форме.

  • Технологической основой программирования на Delphi служит объектно-ориентированный подход (окна, компоненты и пр. являются объектами).

Среди множества окон на экране, одно является активным, полоса активного окна обычно выделена среди остальных, нажатие кнопки клавиатуры воздействует на активное окно. Окна могут приобретать или терять активность, шелчком мыши или в соответствие с кодом программы. В окнах происходят события (клавиатурные, мышиные, программные). К программным событиям относят отдельные этапы функционирования программы, например этап создания формы (выделение для неё памяти), момент активизации окна формы, закрытие формы и др. Программист имеет возможность отреагировать на любое событие, путём написания кода обработки этого события. Изучим 2 события формы: момент создания формы и необходимость перерисовки формы. Среди окон делфи находится инспектор объектов, через инспектор просматриваются свойства всех компонентов проекта, в том числе и форма.