77979

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

Лекция

Информатика, кибернетика и программирование

У ряда объектов из библиотеки библиотеки визуальных компонент есть свойство Cnvs канва которое предоставляет простой путь для рисования на них. Cnvs является в свою очередь объектом объединяющим в себе поле для рисования карандаш Pen кисть Brush и шрифт Font. Cnvs обладает также рядом графических методов: Drw TextOut rc Rectngle и др. Используя Cnvs вы можете воспроизводить на форме любые графические объекты – картинки многоугольники текст и т.

Русский

2015-02-05

63 KB

4 чел.

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

В стандартную библиотеку визуальных компонент Delphi входти несколько объектов6 с помощью которых работать с графическами объектами : рисунками, фигурами – TImage, TShape, TBevel.

Timage (на странице Additional)зволяет поместить графическое изображение в любое место на форме.

Рисунок можно загрузить во время дизайна в редакторе свойства Picture (Инспектор Объектов). Картинка должна храниться в файле в формате BMP (bitmap), WMF (Windows Meta File) или  ICO (icon).

Для включения в программу изображений в форматах PCX, GIF, TIFF JPEG нужно либо перевести их в формат  BMP.

При проектировании следует помнить, что изображение, помещенное на форму во время дизайна, включается в файл. DPR и затем прикомпилируется к EXE файлу. Поэтому такой EXE файл может получиться достаточно большой. Как альтернативу можно рассмотреть загрузку картинки во время выполнения программы, для этого у свойства Picture (которые является объектом со своим набором своиств и методов) есть специальный метод LoadFromFile.

Пример:

 If OpenDialog.Execute then

Image.Picture.LoadFromFile(OpenDialog.FileName);

 Важными являются свойства объекта Center и Stretch – оба имеют булевский тип. Если Center установлено в True, то центр изображения будет совмещаться с центром объекта TImage. Если Stretch установлено в True, то изображение будет сжиматься или растягиваеться таким образом, чтобы запролнить весь объект TImage.

 TShape (на странице Additional) – простейшие графические объекты на форме типк круг, квадрат и т.п.

Компонент рисует одну из простейших геометрических фигур, определяемых следующим множеством :

 Type TShapeType = (stRectangle, setSquare, stRoundRest, stRoundSquare, ustEllipse, stCircle) ;

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

Рис 40 – Графические объекты компоненты TShape

Фигура полностью эанимает все пространство компонента. Если задан квадрат или круг, а размеры элемента по горизонтали и вертикали отличаются, фигура чертится с размером меньшего измерения.

Вид объекта указывается в свойстве Shape. Свойство Pen определяет цвет и вид границы объекта. Brush задает цвет и вид заполнения объекта. Эти свойства можно менять как во время дизайна, так и во время выполнения программы.

TBevel – объект для украшения программы, может принимать вид рамки или линии. Объект предоставляет  меньше вожможностей по сравнению с TPanel, но не занимает ресурсов. Внешний вид указывается с помощью свойств Shape и Style.

У ряда объектов из библиотеки библиотеки визуальных компонент есть свойство Canvas (канва), которое предоставляет простой путь для рисования на них. Эти объекты – TBitmap, TComboBox, 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 :

  1.  Brush – кисть, является объектом со своим набором свойств :
  2.  Bitmap – картинка размером строго 8х8, используется для заполнения (заливки) области на экране.
  3.  Color – цвет заливки.
  4.  Style – предопредленный стиль заливки; это свойство конкурирует со свойством Bitmap – какое свойство Вы определели последним, то и будет определьять вид заливки.
  5.  Font – шрифт, которым выводится текст (метод TextOut).
  6.  Pen – карандаш, определяет вид линий; как и кисть (Brush) является объектом с набором свойств:  
  7.  Color – цвет линии
  8.  Style – стиль вывода : линия, пунктир и др.
  9.  Width – ширина линии в точках
  10.  Pixels – двухмерный массив элементов изображения (pixel), с его помощью вы получаете доступ к каждой отдельной точке изображения (см. пример к данному уроку).

Методы Canvas :

Методы для рисования простейшей графики – Arc, Chord, LineTo, Pie, Polygon, PolyLine, Rectangle, RoudRest. При прорисовке линий в этих методах используются карандаш (Pen) канвы, а для заполнения внутренних оьластей – кисть (Brush).

Методы для вывода картинок на канву – Draw и StretchDraw, в качестве параметров указываются прямоугольник и графический объект для вывода (это может быть TBitmap, TIcon или TMetaFile). StretchDraw отличается тем, что растягивает или сжимает картинку так, чтобы она заполнила весь указанный прямоугольник (см. пример к данному уроку).

Методы для вывода текста – TextOut и TextRect. При выводе текста используется шрифт (Font)  канвы. Пи использовании TextRect текст выводится только внутри указанного прямоугольника. Длину и высоту текта можно узнать с помощью функций TextWidth и TextHeight.

Пример1 : Нарисовать график функции y=sin x

  1.  Разместить компоненту Image (рис. 41).
  2.  Кнопка (Button1) свойтсво Сaption = «Нарисовать».
  3.  В обработчик событий OnClick кнопки записать :

Рис 41- пример использования компоненты TImage

procedure TForm1.Button1Click(Sender: TObject);

var x, y : real; PX, PY : LongInt;

begin

for PX:=0 to image1. width do

begin

X:=PX*4*Pi/image1.Width;

Y:=sin(x);

PY:=Trunc(Image1.Height-(Y+1)*Image1.Height/2);

image1.Canvas.Pixels[PX,PY]:=0;

end;

end;

end.


 

А также другие работы, которые могут Вас заинтересовать

2473. Оборудование, механизация и автоматизация сварочного производства 391.59 KB
  Данный сборник направлен на формирование умений применять полученные знания на практике, на реализацию единства интеллектуальной и практической деятельности. Механизация и автоматизация являются важнейшим средством повышения производительности труда, улучшения качества и условий труда в сварочном производстве.
2474. Теория электрических цепей. Автогенераторы 895.56 KB
  Изучение и компьютерное моделирование работы LC-автогенератора с трансформаторной обратной связью. В работе необходимо исследовать условия самовозбуждения автогенератора, а также научиться определять амплитуду напряжения на выходе автогенератора в стационарном режиме.
2475. Фінанси. Електронний курс лекцій 544.17 KB
  Сутність фінансів, їх функції і роль. Принципи структурування фінансової системи. Організаційна структура фінансової системи. Управління фінансовою системою та фінансова політика. Зовнішні і внутрішні фінансові відносини. Суть і склад державних фінансів. Бюджет держави: сутність і призначення. Пряме та непряме оподаткування в Україні. Страхування і страховий ринок. Визначення фінансового ринку і його елементи.
2476. Економічна статистика 731 KB
  Основи класифікації економічної статистики. Система національних рахунків – методологічна основа економічної статистики. Показники статистики населення. Завдання статистики населення. Показники чисельності та складу населення. Статистика використання робочого часу. Статистика науково-технічної та інноваційної діяльності. Оцінка рівня інфляції, її використання для порівняльного аналізу вартісних показників. Статистика доходів сектору домашніх господарств. Джерела інформації про споживання населенням.
2477. Основы аудита. Принципы профессиональной этики аудита 244 KB
  Структура договора на проведение аудиторской проверки. Предплановая (преддоговорная) деятельность. Документация аудитора. Обзор событий, произошедших после даты составления баланса. Планирование аудиторской проверки, ее назначение и принципы. Критерии отнесения организации к обязательному аудиту. Основные этапы становления и развития аудита в России.
2478. Теория общей химии с элементами методики преподавания 413 KB
  Экспериментальные (качественные) задачи по химии. Подготовка учителя к уроку. Понятие об энтропии и изобарно-изотермическом потенциале. Самостоятельная работа учащихся по химии. Задачи курса химии средней школы. Технические средства обучения. Структура нуклеотидов и нуклеозидов.
2479. Акушерство и гиникология. Аборты и гинекологическая помощь 1.27 MB
  Аборты, акушерская помощь. Агалактия и гипогалактия. Бесплодие и яловость животных. послеродовой парез. Аборт - прерывание беременности с последующим рассасыванием зародыша, мумификацией, мацерацией, путрификацией либо изгнанием из матки мертвого неизмененного плода (выкидыша) или незрелого живого плода (недоноска).
2480. Теорія адміністративної відповідальності при порушенні митних правил 289.5 KB
  Адміністративна відповідальність за порушення митних правил. Завдання, принципи та функції адміністративної відповідальності. Поняття, завдання та принципи провадження в справах про порушення митних правил. Опротестування постанови по справі про порушення митних правил. Свідки та поняті у справах про порушення митних правил.
2481. Высшая математика. Исследование интегралов и теоремы гипотез 147.5 KB
  Неопределённый интеграл и его свойства. Вычисление пути, пройденного точкой. Основные понятия и свойства числовых рядов. Разложение функций в ряд Тейлора. Формула Байеса (теорема гипотез). Формула Бернулли. Определение комплексного числа. Действия над комплексными числами в алгебраической форме.