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.


 

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

18505. Аналіз стану і використання основних засобів 124.5 KB
  ТЕМА 5. Аналіз стану і використання основних засобів 1. Значення завдання та джерела даних аналізу. 2. Аналіз виробничих потужностей підприємства. 3. Аналіз складу структури технічного стану і руху основних засобів 4. Аналіз узагальнюючих показників ефективності в
18506. Аналіз забезпеченості підприємства матеріальними ресурсами та їх використання 73 KB
  Тема 6 Аналіз забезпеченості підприємства матеріальними ресурсами та їх використання 1. Значення завдання та джерела даних аналізу предметів праці. 2. Загальна оцінка виконання плану матеріальнотехнічного постачання. 3. Аналіз складських запасів матеріальних ресу
18507. Аналіз використання трудових ресурсів 79.5 KB
  Тема 7. Аналіз використання трудових ресурсів Значення завдання та джерела даних аналізу кадрового потенціалу підприємства. Аналіз стану трудових ресурсів і забезпеченості ними підприємства. Аналіз використання робочого часу. Аналіз продуктивності прац
18508. Аналіз витрат підприємства і собівартості продукції 85.5 KB
  Тема 8 Аналіз витрат підприємства і собівартості продукції Значення завдання та джерела даних аналізу. Оцінка собівартості продукції за узагальнюючими показниками. Аналіз прямих витрат в собівартості продукції. Аналіз комплексних статей витрат.
18509. Аналіз фінансових результатів діяльності підприємства 134.5 KB
  Тема Аналіз фінансових результатів діяльності підприємства Значення система показників завдання та джерела даних аналізу фінансових результатів. Загальна оцінка рівня та динаміки формування фінансових результатів. Аналіз валового прибутку підприємства. ...
18510. Аналіз фінансового стану підприємства 173 KB
  Тема Аналіз фінансового стану підприємства Поняття значення завдання та джерела аналізу фінансового стану підприємства. Загальна оцінка майна та боргових прав підприємства аналіз зміни їх складу та структури. Загальна оцінка джерел формування майна підп
18511. Теоретические основы логистической деятельности 61 KB
  Лекция 1. Теоретические основы логистической деятельности. Понятие сущность логистики. Этапы развития логистики. Предмет и содержание логистики как науки. Основные понятия логистики. Принципы логистики. 1. Понятие сущно...
18512. Концепция логистики 36.5 KB
  Лекция 2. Концепция логистики. Концептуальные положения логистики. Цели и системы логистики. Концептуальные положения логистики. Концепция это система взглядов то или иное понимание явлений процессов. Концепцию логи...
18513. Закупочная логистика 115 KB
  Лекция 3. Закупочная логистика. Понятие задачи и функции закупочной логистики. Процесс приобретения материалов и его основные стадии. Определение потребности в материалах. Методы материального обеспечения производства. Методы рас...