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.


 

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

43208. Проектування привіду до стрічкового конвейєра за схемою та графіком навантаження 1.35 MB
  Закриті зубчасті передачі при коловій швидкості змащуються зануренням їх в мастило, а також за рахунок масляного туману, який утворюється за рахунок великої колової швидкості. Контактне напруження при швидкості дорівнює 475 МПа. За цими даними вибираємо необхідну в’язкість мастила і вибираємо мастило: індустріальне леговане, для зубчастих передач ИРП-150. одноступінчатого редуктора.
43209. Определение основных параметров бульдозера ДЗ-171 на базе трактора Т-170 957.5 KB
  Бульдозеры как навесное оборудование на тракторы, тягачи и другие базовые машины широко распространены, что объясняется простотой их конструкции, высокой производительностью, возможностью их использования в самых разнообразных грунтовых и климатических условиях и относитнльно низкой стоимостью выполненных работ. Применяются они в дорожном, железнодорожном, горнорудном, мелиоративном и ирригационном строительстве. Для большинства современных гусеничных бульдозеров экономически выгодная дальность дальность перемещений в настоящее время не превышает 60-80м, колесных 100-150м.
43210. Проектирование станочного приспособления 1.5 MB
  На основании этой комплексной детали будем разрабатывать и проектировать станочное приспособление. Технические характеристики для САТ630 Наибольший диаметр обрабатываемого изделия мм: над станиной 720 над суппортом 560 Расстояние между центрами мм 1 000 1 500 2 500 Максимальное перемещение суппорта мм: по оси Х 400 по оси Z 1 100 1 600 2 600 по оси Y 55 65 Максимальный вес обрабатываемой детали кг: в патроне 300 в центрах 800 Диаметр отверстия в шпинделе мм 102 166 Пределы частот вращения...
43211. Разработка автоматизированной системы анализа финансового состояния предприятия в условиях неопределенности 1.47 MB
  Основной целью проведения анализа финансового состояния организаций является получение объективной оценки их платежеспособности, финансовой устойчивости, деловой и инвестиционной активности, эффективности деятельности. Для проведения анализа финансового состояния используются следующие группы показателей, характеризующих различные аспекты деятельности организации...
43212. Деталь типа тело вращения – вал-шестерня 2.4 MB
  Изделие – редуктор зубчатый цилиндрический двухступенчатый предназначен для увеличения передаваемого крутящего момента и может быть использован во многих механизмах – лебёдка, станция приводная транспортёров, станция натяжная и др.
43213. Автоматизация листовых штамповочных работ 5.59 MB
  Расчет зависимости частоты вращения ротора серводвигателя от шага подачи ленты валковой подачи от числа ходов ползуна пресса и от фазового угла подачи ленты в зону штампа 3 Экономическая часть 3. При полной автоматизации работы коэффициент использования числа ходов пресса достигает 100 хотя абсолютное число используемых ходов за рабочую смену несколько ниже предельно возможного изза потерь времени на перестановку штампов заправку ленты и т. Работа комплекса начинается с того что рулон ленты устанавливается...
43214. Электропривод цепного транспортера 1.73 MB
  Вращающий момент с вала электродвигателя передается через упругую муфту с вогнутым профилем торообразной оболочки на быстроходный вал двухступенчатого цилиндрического редуктора. ВЫБОР ЭЛЕКТРОДВИГАТЕЛЯ Основными исходными данными для выбора электродвигателя являются мощность на выходном валу привода и частота вращения его вала между которыми существует связь: где: мощность на выходном валу привода кВт; окружная сила тяговое усилие кН; скорость ленты м с; Требуемая мощность электродвигателя где: требуемая мощность...
43215. Інформаційне та комунікаційне забезпечення, зв’язки з громадськістю в системі управлінської діяльності органу державної влади 38.05 KB
  Усі громадяни України, юридичні особи та державні органи мають право на інформацію. Але реалізація права на інформацію громадянами, юридичними особами і державою не повинна порушувати громадські, політичні, економічні, соціальні, духовні, екологічні та інші права, свободи і законні інтереси інших громадян, права та інтереси юридичних осіб.
43216. Проектирование редуктора вертолёта 1.14 MB
  Определение геометрических размеров передачи. Напряжение изгиба четвёртого колеса Проверочный расчет цилиндрических колёс на статическую прочность при перегрузке Выбор оптимального варианта из расчитанных передач Предварительное определение диаметров валов Предварительный подбор подшипников. Определение усилий в зацеплениях. Определение усилий в зацеплениях на второй передаче. Определение реакций в опорах валов Расчёт долговечности подшипников качения. Определение крутящих моментов на всех валах...