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.


 

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

27371. Структура общения 45.5 KB
  Педагогическое общение специфическая форма общения имеющая свои особенности и в то же время подчиняющаяся общим психологическим закономерностям присущим общению как форме взаимодействия человека с другими людьми включающей коммуникативный интерактивный и перцептивный компоненты. Недостаток и ограничение общения замедляют и обедняют развитие ребёнка.[3] Проблеме педагогического общения посвящено значительное количество исследований анализ которых обнаруживает несколько аспектов в её изучении. Структура общения: Коммуникативный компонент...
27372. Социальная ситуация: смена статуса, появление учебной деятельности 34.5 KB
  Изменение внутренней позиции ребенка обесценивание игры как ведущей деятеьности прошлого периода стремление к новому. Как развивать личность: развивать самостоятельность произвольность знает что надо и что для этого делать преобладание мотива надо над мотивом хочу поддержка начинаний ребенка рефлексия анализ планирование обеспечение комфортной обстановки формировать внутренний план действий Работа с родителями: выделяют 2 вида подготовки ребенка к школе специальную и общую. Необходимо физически подготовить ребенка: общее...
27373. Неуспеваемость 32.5 KB
  Содержание и методы обучения повышают а иногда задерживают понижают возможности учащихся. И этот фактор так или иначе учитывается при определении содержания обучения. Одни и те же условия обучения и воспитания поразному воздействуют на детей воспитывающихся в разных условиях имеющих различия в организме в общем развитии.
27374. Норма - сочетание личности и социума 42 KB
  Социум обязан обеспечивать норму Среднестатистическая норма уровень психологического развития человека который соответствует средним качественноколичественным показателям полученным при обследовании представителей популяции людей того же возраста пола культуры. Попадание в эту зону означает уровень развития свойственный не менее 68 лиц данной группы. Функциональная норма индивидуальная в её основе лежит представление о непоторимости пути развития каждого человека и любое его отклонение можно считать индивидуальным отклонением....
27375. Мораль. Формирование морали 34 KB
  Ценность человеческой жизни меняется в зависимости от ценности вещей и статуса или других признаков человека. Ценность жизни человека определяется чувствами связанных с ним людей. Ценность человеческой жизни определяется вкладом человека в общий прогресс человечества. Главной проблемой является не следование предписаниям а отыскание смысла жизни.
27376. Профессиональные свойства и характеристики личности учителя 40.5 KB
  Как и любой вид деятельности деятельность педагога имеет свою структуру Зимняя И. Предмет педагогической деятельности. Продукт и результат педагогической деятельности. Каждый вид деятельности имеет свой предмет точно также и педагогическая деятельность имеет свой.
27377. Классный руководитель 27.5 KB
  выполняет следующие функции: 1 знакомится с семьями учащихся для того чтобы знать какое влияние оказывается на них дома и для того чтобы своевременно помочь им если это влияние оказывается неблагоприятным; 2 знакомит родителей с требованиями школы к учащимся по режиму дня приготовлению уроков привлечению учащихся к домашнему труду и др.; 3 стремится обеспечить единство требований школы и семьи; 4 для родителей регулярно устраивает лекции по отдельным вопросам где говорится о средствах и методах которыми семья может помочь школе в...
27378. Общеобразовательные цели обучения математике 19.7 KB
  ФГОС здесь все из книги по фгосам на экзамене будут фгосы доступны так что учить здесь всё не нужно наизусть: В результате изучения курса математики обучающиеся на ступени начального общего образования: научатся использовать начальные математические знания для описания окружающих предметов процессов явлений оценки количественных и пространственных отношений; овладеют основами логического и алгоритмического мышления пространственного воображения и математической речи приобретут необходимые вычислительные навыки; научатся применять...
27379. Этапы формирования представлений о числе 18.8 KB
  5 этап: изучение отрезка ряда натуральных чисел. Так же необходимо в процессе изучения отрезка натуральных чисел отрабатывать прием присчитывания и отсчитывания по одному. Моро А последовательно один за другим рассматриваются отрезки ряда натуральных чисел 12 123 123. Основные приемы: прочтение чисел счет предметов выделение нового для изучаемого числа.