Графиките в Делфи
Работа с графики в Делфи е не само линии и цифри, но също и за отпечатване на текстови документи. Ето защо, в работата с Delphi графики трябва да се даде малко време. Работа с графики в Делфи включва призив към платното - Платно компоненти собственост. Платно Delphi е платно, която позволява на програмиста да имат достъп до всяка точка (пиксел), а ако на художника, за да покаже това, което искате. Разбира се, направи пиксел по пиксел за графиките в Делфи не е необходимо, Delphi система предоставя мощни инструменти за работа с графики. улесни задачата на програмиста.
Разбира се, не всички компоненти в Delphi имат тези свойства. На Допълнителна раздела е специализиран компонент TImage. специално проектирано за боядисване, но също така имат свойството да Платно, например, компоненти като ListBox, ComboBox, StringGrid, както и самата форма, която поставя на нашите части! В допълнение, Delphi за отпечатване на документи се отнася до свойството на обекта платно като принтер.
Основното свойство на такъв обект като платно Delphi - пиксели [Ь, й] Вид TColor. т.е., на двумерен масив от точки (пиксели), определена от неговия цвят. Рисуване върху платното се случва, когато възлагане на всеки един цвят точка на платното. Всеки пиксел може да бъде назначен за всеки наличен цвят Windows. Например, твърдението е
миний за изготвяне точка с координати [100, 100]. Научете цвят на пикселите може да се обърне на заданието:
Въведете TColor определя като дълго цяло число (LongInt). Неговите четири байта съдържат информация за пропорциите на синия (B), зелен (G) и червени (R) цветове. В 16-мерното системата, тя изглежда така: $ 00BBGGRR. Делът на всеки цвят може да варира от 0 до 255. Ето защо, за да се покаже най-червена точка, че е необходимо да зададете цвят $ 000000FF.
За стандартните цветове в Делфи определен набор от текстови константи. Това може да се види чрез отваряне на обекта инспектор Цвят имота, например, една и съща форма.
В следващата таблица са някои от свойствата и методите на платното:
процедура TextOut (X, Y: цяло число; конст Текст: WideString);
Текст произвежда продукция ред, започвайки от (X, Y) - на горния ляв пиксел на текста.
TextWidth имот (VAR Текст: String): Integer;
Съдържащи текст дължина низ в пиксели.
TextHeight имот (VAR Текст: String): Integer;
Съдържащи височина Текст линия в пиксели.
FillRect процедура (конст Rect: TRect);
Rect Запълва правоъгълник върху платното използва ток четката. Може да се използва, включително и за заличаването на образа върху платното.
Напиши, като се използват само методите на платното, прилагането на изображение на текста Снимка на платно компонент, който е влязъл в компонента Memo:
Позиция на компонентите на форма Memo, изображението (намира се на допълнителна страница), Edit, Updown (намира се на страницата Win32). Доц Updown имущество се равнява на компонент В падащия списък нашия компонент Edit. Този компонент ще променим размера на шрифта. От Memo, така и графични ние сме на една и съща мощност устройство - на нашия екран, размер на пиксел имат едни и същи, и по тази причина, размера на изображението ще бъде равен.
Първото нещо, което правим, е инициализира променливите в началото на програмата. Необходимо е да се определи размера на областта за чертане (това ще създаде глобална променлива тип Rect TRect) и да направи цвета на фона бял снимката:
процедура TForm1.FormCreate (Sender: TObject);
започвам
Rect.Left: = 0;
Rect.Top:=0;
Rect.Right: = Image1.Width;
Rect.Bottom: = Image1.Height;
Image1.Canvas.Brush.Color: = clWhite;
приключи;
След това се направи рамка около стените на снимката:
процедура TForm1.page;
започвам
с Image1.Canvas направя
започвам
MoveTo (0, 0);
LineTo (Image1.Width-1, 0);
LineTo (Image1.Width-1, Image1.Height-1);
LineTo (0, Image1.Height-1);
LineTo (0, 0);
приключи;
приключи;
Нека се опитаме, че вън. Всичко работи, но рамката все още не се показва. Така че ние добави процедура страница в процедура FormCreate. Сега красиво. На следващо място, напишете проста процедура заличаване пречистване на изображението. Тя трябва да бъде извикана преди всяко подновяване на изображението, в противен случай предишните и следващите изображения ще се припокриват.
процедура TForm1.clearing;
започвам
Image1.Canvas.FillRect (Rect); // Rect правоъгълник изпълнен с бял, изображението се изтрива.
приключи;
Сега дойде ред на процедура за директно предоставяне на текст изход. Текст на дисплея започне от точката (3, 3) - в горния ляв ъгъл на листа с малка вдлъбнатина 3 в пиксел. Всеки следващ ред ще се измести към височината на ред:
процедура TForm1.prn;
Var I: цяло число;
започвам
с Image1.Canvas направя
защото: = 1 до Memo1.Lines.Count направи
TextOut (3 3+ (I-1) * TextHeight ( "А"), Memo1.Lines [I-1]);
приключи;
Сега всичко е готово за текст изход. Това ще събитие OnChange:
процедура TForm1.Memo1Change (Sender: TObject);
започвам
клиринг;
PRN;
страница;
приключи;
И накрая, как да промените размера на шрифта:
процедура TForm1.Edit1Change (Sender: TObject);
започвам
Memo1.Font.Size: = UpDown1.Position;
Image1.Canvas.Font.Size: = UpDown1.Position;
Memo1Change (подателя);
приключи;
Можете да промените тази програма за извеждане на текст, който да бъде отпечатан. За да работите с принтера трябва да бъде свързан принтери модул:
употреби
Windows, съобщения, SysUtils, варианти, Курсове, графики, Контроли, формуляри,
Диалози, StdCtrls, принтери;
При използване на принтера с двата ножа, за да започнете метод, наречен BeginDoc печат. след това произвежда продукция документ, печат е завършена, като се обадите метод EndDoc:
Printer.BeginDoc;
с Printer.Canvas направя
започвам
. Отпечатване на документ.
приключи;
Printer.EndDoc;
Ширината и височината на вашия принтер са достъпни чрез свойствата на плат и Printer.PageWidth Printer.PageHeight. След отпечатването на същата страница и започнете да печатате от друга страна, можете да използвате Printer.NewPage метод.