| « Поставить закладку » « Сделать стартовой » | |||
|
|||
|
ЛинияЛиния Вычерчивание прямой
линии осуществляет метод LinеТо, инструкция вызова которого в общем виде выглядит
следующим образом: Компонент.Canvas.LineTo(x,у) Метод LinеТо вычерчивает
прямую линию от текущей позиции карандаша в точку с координатами, указанными
при вызове метода. Начальную точку линии
можно задать, переместив карандаш в нужную точку графической поверхности. Сделать
это можно при помощи метода MoveTo, указав в качестве параметров координаты
нового положения карандаша. Вид линии (цвет, толщина
и стиль) определяется значениями свойств объекта Реп графической поверхности,
на которой вычерчивается линия. Довольно часто результаты
расчетов удобно представить в виде графика. Для большей информативности и наглядности
графики изображают на фоне координатных осей и оцифрованной сетки. В листинге
10.2 приведен текст программы, которая на поверхность формы выводит координатные
оси и оцифрованную сетку (рис. 10.4).
Рис. 10.4. Форма
приложения Координатная сетка Листинг 10.2.
Оси координат и оцифрованная сетка unit
grid_; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1
= class(TForm) procedure FormPaint(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1:
TForm1; implementation {$R
*.DFM} procedure
TForm1.FormPaint(Sender: TObject); var x0,y0:integer;
// координаты начала координатных осей dx,dy:integer;
// шаг координатной сетки (в пикселах) h,w:integer;
// высота и ширина области вывода координатной сетки х,у:integer; lx,ly:real;
// метки (оцифровка) линий сетки по X и Y dlx,dly:real;
// шаг меток (оцифровки) линий сетки по X и Y cross:integer;
// счетчик неоцифрованных линий сетки dcross:integer;//
количество неоцифрованных линий между оцифрованными begin х0:=30; у0:=220; // оси начинаются в точке (40,250) dx:=40; dy:=40; // шар координатной сетки 40 пикселов dcross:=1;
// помечать линии сетки X: 1 — каждую; //
2 — через одну; //
3 — через две; dlx:=0.5;
// шаг меток оси X dly:=1.0;
// шаг меток оси Y, метками будут: 1, 2, 3 и т. д. h:=200;
w:=300; with
forml.Canvas do begin cross:=dcross; MoveTo(x0,v0);
LineTo(x0,y0-h); // ось X MoveTo(x0,y0);
LineTo(x0+w, y0); // ось Y //
засечки, сетка и оцифровка по оси X x:=x0+dx; lx:=dlx; repeat MoveTo(x,y0-3);LineTo(x,yO+3);
// засечка cross:=cross-l; if
cross = 0 then // оцифровка begin TextOut(x-8,y0+5,FloatToStr(lx)); cross:=dcross
; end; Pen.Style:=psDot; MoveTo(x,y0-3);LineTo(x,y0-h); // линия сетки Pen.Style:=psSolid; lx:=lx+dlx; x:=x+dx; until
(x>x0+w); //
засечки, сетка и оцифровка по оси Y y:=y0-dy; ly:=dly; repeat MoveTo(х0-3,у);LineTo(х0+3,у);
// засечка TextOut(х0-20,у,FloatToStr(1у));
// оцифровка Pen.Style:=psDot; MoveTo(х0+3,у);
LineTo(x0+w,у); // линия сетки Pen.Style:=psSolid; y:=y-dy; ly:=ly+dly; until (y<y0-h); end; end; end. Особенность приведенной программы заключается в том, что она позволяет задавать шаг сетки и оцифровку. Кроме того, программа дает возможность оцифровывать не каждую линию сетки оси х, а через одну, две, три и т. д. Сделано это для того, чтобы предотвратить возможные наложения изображений чисел оцифровки друг на друга в случае, если эти числа состоят из нескольких цифр. Инструменты Internet Explorer 8 Beta 2 для разработчиков.
Подробнее... |
Рубрика: Вебмастеру
| Добавлено: 05.09.2008
Google Developer Day 2008 в Москве.
Дата проведения: 28 октября 2008 г.; Место проведения: Амбер Плаза, Москва, Россия. Конференция для веб-разработчиков и разработчиков мобильных приложений в Москве. Узнайте, как наилучшим образом использовать инструменты разработки и API от Google, чтобы создавать социальные, мобильные и картографические приложения, как использовать AJAX/JavaScript инструменты и библиотеки от Google и многое другое из первых уст.
Подробнее... |
Рубрика: Мероприятия
| Добавлено: 05.09.2008
ТОП 10 самых раздражающих факторов для программиста.
Совсем недавно наткнулся в интернете на забавный "хит-парад" наиболее раздражающих вещей для программиста. Поскольку он был на английском — решил перевести текст и несколько адаптировать к нашим реалиям…
Подробнее... |
Рубрика: Разное
| Добавлено: 03.09.2008
Остальные статьи:
Windows Server 7, 8 и 9
jQuery для JavaScript-программистов
Инновационный веб-броузер Google Chrome стартует уже сегодня
Windows 7: подход к производительности системы
Trac + Subversion @ Ubuntu: Revisited
[g]Vim в режиме Python: Рекомпиляция в Windows
Java + JSON. Пути к дружбе
Драйвер SQL Server 2005 для PHP
Типы данных в MySQL (сжатый справочник для PHP программиста)
PHP класс для работы с Яндекс.XML
Ошибки начинающих PHP разработчиков
Наследование шаблонов в Smarty
Особенности хранения сессий PHP в memcached
Internet Explorer 8 beta 2
9 правил для начинающего Ajax-разработчика
ExtJS 2.2 - полная поддержка Firefox 3, новые виджеты и другие нововведения |
Цитата дня (все,добавить):
|
Realcoding.NET
© 2003-2008 |
Контакты |
Реклама на сайте
|