Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2012, 18:59   #11
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Код:
canvas.lineto
canvas.moveto
Кольша вне форума Ответить с цитированием
Старый 04.05.2012, 19:14   #12
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Когда-то обсуждалось похожее: http://www.programmersforum.ru/showthread.php?t=107981
Попробуй переделать под DrawGrid - смысл отрисовывать в ячейках грида очередной кусок изображения со схожими с ячейкой координатами.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.05.2012, 21:08   #13
hacknet
Форумчанин
 
Регистрация: 11.11.2008
Сообщений: 177
По умолчанию

ух сложновато, совсем не пойму( если не сложно можно исходник?
вот нашел вот как их этого получить то что мне нужно
Код:
procedure TForm1.FormPaint(Sender: TObject);
var n, m, i, z : integer;
begin
  z := 30;
  n := SpinEdit1.Value;
  m := SpinEdit2.Value;
  // горизонтальные полоски
  Canvas.Pen.Color := clBlack;
  for i:= 0 to n do
  begin
    Canvas.MoveTo(0,     i * z);
    Canvas.LineTo(m * Z, i * z);
  end;
  // вертикальные
  Canvas.Pen.Color := clGreen;
  for i:= 0 to m do
  begin
    Canvas.MoveTo(i*z, 0);
    Canvas.LineTo(i*z, n * Z);
  end;
end;

procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
Repaint;
end;

procedure TForm1.SpinEdit2Change(Sender: TObject);
begin
Repaint;
end;

Последний раз редактировалось hacknet; 04.05.2012 в 21:42.
hacknet вне форума Ответить с цитированием
Старый 05.05.2012, 13:27   #14
hacknet
Форумчанин
 
Регистрация: 11.11.2008
Сообщений: 177
По умолчанию

вот еще, получается надо сначала сделать скрин, а потом на него на нести сетку? но только тут не много не так, надо чтоб в квадратиках были их координаты
Цитата:
procedure TForm1.FormPaint(Sender: TObject);
var
x0, y0: integer; // координаты начала координатных осей
dx, dy: integer; // шаг координатной сетки (в пикселях)
h, w: integer; // высота и ширина области вывода координатной сетки
x, y: integer;

lx, ly: real; // метки (оцифровка) линий сетки по X Y
dlx, dly: real; // шаг меток (оцифровки) линий сетки по X и Y
cross: integer; // счетчик не оцифрованных линий сетки
dcross: integer; // количество не оцифрованных линий между оцифрованными
begin
x0 := 30;
y0 := 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 form1.Canvas do
begin
cross := dcross;
MoveTo(x0, y0);
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, y0 + 3); // засечка
cross := cross - 1;
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(x0 - 3, y);
LineTo(x0 + 3, y); // засечка
TextOut(x0 - 20, y, FloatToStr(ly)); // оцифровка
Pen.Style := psDot;
MoveTo(x0 + 3, y);
LineTo(x0 + w, y); // линия сетки
Pen.Style := psSolid;
y := y - dy;
ly := ly + dly;
until (y < y0 - h);
end;
end;
hacknet вне форума Ответить с цитированием
Старый 05.05.2012, 13:27   #15
hacknet
Форумчанин
 
Регистрация: 11.11.2008
Сообщений: 177
По умолчанию

вот еще, получается надо сначала сделать скрин, а потом на него на нести сетку? но только тут не много не так, нужны координаты для мыши!
Цитата:
procedure TForm1.FormPaint(Sender: TObject);
var
x0, y0: integer; // координаты начала координатных осей
dx, dy: integer; // шаг координатной сетки (в пикселях)
h, w: integer; // высота и ширина области вывода координатной сетки
x, y: integer;

lx, ly: real; // метки (оцифровка) линий сетки по X Y
dlx, dly: real; // шаг меток (оцифровки) линий сетки по X и Y
cross: integer; // счетчик не оцифрованных линий сетки
dcross: integer; // количество не оцифрованных линий между оцифрованными
begin
x0 := 30;
y0 := 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 form1.Canvas do
begin
cross := dcross;
MoveTo(x0, y0);
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, y0 + 3); // засечка
cross := cross - 1;
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(x0 - 3, y);
LineTo(x0 + 3, y); // засечка
TextOut(x0 - 20, y, FloatToStr(ly)); // оцифровка
Pen.Style := psDot;
MoveTo(x0 + 3, y);
LineTo(x0 + w, y); // линия сетки
Pen.Style := psSolid;
y := y - dy;
ly := ly + dly;
until (y < y0 - h);
end;
end;

Последний раз редактировалось hacknet; 05.05.2012 в 13:43.
hacknet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрин на видео. Alex Cones Общие вопросы Delphi 3 22.08.2013 08:50
Скрин в 16 бит Mihanches Общие вопросы Delphi 0 11.10.2010 11:55
Сплэш-скрин Johnson Общие вопросы Delphi 2 21.11.2009 12:03
Принт скрин MAcK Win Api 1 31.08.2007 20:48
Лого скрин Elm0 Свободное общение 10 23.06.2007 13:08