Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Графические файлы




Рисунок, графика или канва

Работа с рисунками

Использование канвы

Листинг 1. Использование функций Windows GDI u свойства канвы на примере рисования эллипса.

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

Уровень Действие Методы Свойства
Высокий Определяет текущую позицию пера MoveTo PenPos
Рисует прямую до заданной точки LineTo PenPos
Рисует прямоугольник заданного размера Rectangle  
Рисует эллипс заданного размера Ellipse  
Выводит текстовую строку TextOut  
Задает высоту, отведенную для вывода текстовой строки TextHeight  
Задает ширину, отведенную для вывода текстовой строки TextWidth  
    Вывод текста внутри прямоугольника TextRect  
Заливка указанного прямоугольника цветом и текстурой текущей кисти FillRect.  
Заливка области канвы (произвольной формы) заданным цветом FloodFill  
Средний Используется для установки цвета, стиля, ширины и режима пера   Pen
Используется для установки цвета и текстуры при заливке графических фигур и фона канвы.   Brush
Используется для установки шрифта заданного цвета, размера и стиля   Font
Используется для чтение и записи цвета заданного пикселя канвы   Pixels
Копирует прямоугольную область канвы в режиме CopyMode CopyRect CopyMode
Копирует прямоугольную область канвы с заменой цвета BrushCopy  
Рисует битовый образ, пиктограмму, метафайл в заданном месте канвы Draw  
Рисует битовый образ, пиктограмму или метафайл так, чтобы целиком заполнить заданный прямоугольник StretchDraw  
Низкий Используется как параметр при вызове функций Windows GDI   Handle

 

Основное содержание графических работ, которые выполняются в среде C++Builder, состоит непосредственно в рисовании на канве вашей формы или других размещенных на ней компонент. C++Builder также обслуживает поддержку внешних изображений - битовых образов, метафайлов и пиктограмм, включая автоматическое управление палитрами.

При работе с рисунками в среде C++Builder следует принимать во внимание три важных аспекта.

В среде C++Builder существует три рода объектов, которые имеют отношение к графике:

• Канва предоставляет битовую карту поверхности для рисования на форме,

графической компоненте, принтере или на другом битовом образе. Канва не является самостоятельным объектом, она всегда является свойством какого-то другого графического объекта.

• Графика представляет растровое изображение некоторого файла или ресурса (битового образа, пиктограммы или метафайла). C++Builder определяет производные от базового класса TGraphic объектные классы TBitmap, Ticon и TMetafile. Конечно, вы можете объявить свои собственные классы графических объектов. TGraphic предоставляет минимальный стандартный интерфейс для использования в вашем приложении всех видов графики.

• Рисунок представляет собой контейнер для графики, т.е. он может содержать любые классы графических объектов. Таким образом, контейнерный класс TPicture может содержать битовый образ, пиктограмму, метафайл или некоторый другой графический тип, определенный пользователем, а приложение может стандартизовано обращаться ко всем объектам контейнера посредством объекта "рисунок". Действительно, большинство компонент управления изображениями имеют свойство Picture объектного типа TPicture, которое дает возможность представления изображений различных видов графики.

Отметим, что объект "рисунок" всегда содержит некоторую графику, которой в свою очередь может потребоваться иметь канву (единственный стандартный графический класс с канвой - это TBitmap). Обычно, имея дело с рисунком, вы работаете только с той частью графического объекта, которая открыта для доступа через контейнер TPicture. Если вам надо указать доступ к конкретному графическому объекту, задайте его в свойстве Graphic данного рисунка.

В любой момент работы вашего приложения C++Builder поддерживает загрузку и сохранение рисунков и графиков в файлах изображений стандартного формата. Имена сохраняемого и исходного файла изображений могут совпадать или различаться.

Для загрузки изображения в рисунок из файла воспользуйтесь методом рисунка LoadFromFile. Чтобы сохранить изображение в файле, вызовите метод рисунка SaveToFile. Единственным параметром этих методов является имя файла. Метод LoadFromFile использует расширение файла для распознавания вида графического объекта, который он создаст и загрузит. Метод SaveToFile сохраняет файл с расширением, соответствующим виду сохраняемого графического объекта.

Листинг 2 содержит инструкцию, которую вы должны записать в тексте кодового модуля для загрузки битового образа в компонентный объект рисунка.

void_fastcall TFormI::FormCreate(TObject *Sender)

{

Imagel->Picture->LoadFromFile("c:\\windows\\clouds.bmp");

}

Листинг 2. Загрузка битового образа из файла clouds, bmp.

Рисунок распознает стандартное расширение файлов битовых образов.bmp и создает свою графику как объект класса TBitmap, а затем вызывает метод LoadFromFile загрузки изображения из файла с указанным именем.




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 447; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.