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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.02.2014, 23:38   #1
shadezx
Пользователь
 
Регистрация: 24.10.2013
Сообщений: 75
По умолчанию


как нарисовать это в ?

Цитата:
Сообщение от shadezx Посмотреть сообщение

как нарисовать это в ?

Последний раз редактировалось Serge_Bliznykov; 08.02.2014 в 00:21.
shadezx вне форума Ответить с цитированием
Старый 08.02.2014, 00:20   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

можно линиями и окружностями прямо на канве.
см. методы TCanvas
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.02.2014, 01:17   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

например, начало может выглядеть таким образом:
pop_screen.jpg

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    procedure FormPaint(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;


implementation
var x, y, step : integer;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  x:=50;
  y:=10;
  step := 40;
end;

procedure TForm1.FormPaint(Sender: TObject);
var i : integer;
begin
   Canvas.Pen.Color := clGray;     // цвет линий
   Canvas.Pen.Width := 1;

   i := x;
   while i<= x+step*7 do begin
     Canvas.MoveTo(i,y);
     Canvas.LineTo(i,y+step*9);
     Inc(i,step);
   end;

   i := y;
   while i<= y+step*9 do begin
     Canvas.MoveTo(x, i);
     Canvas.LineTo(x+step*7, i);
     Inc(i,step);
   end;

   Canvas.Pen.Color := clBlack;     // цвет линий
   Canvas.Pen.Width := 4;
   Canvas.Brush.Style := bsClear;

   Canvas.Arc(x,y+step*2,x+step*2,y+step*4, x+step,y+step*2, x, y+step*3 );
   Canvas.MoveTo(x, y+step*3);
   Canvas.LineTo(x+step*2, y+step*3);
   Canvas.MoveTo(x+step, y+step*2);
   Canvas.LineTo(x+step*2, y+step*2);
   Canvas.LineTo(x+step, y+step);
   Canvas.LineTo(x+step*2, y+step);
   Canvas.LineTo(x+step*2, y);
   Canvas.LineTo(x+step*3, y+step);
   Canvas.LineTo(x+step*3, y);
   Canvas.LineTo(x+step*4, y+step);
   Canvas.LineTo(x+step*4, y);
   Canvas.LineTo(x+step*5, y+step);
   Canvas.LineTo(x+step*5, y+step*7);
   Canvas.LineTo(x+step*5, y+step*7);
   Canvas.MoveTo(x+step*5, y+step*6);
   Canvas.LineTo(x+step*7, y+step*8);
   Canvas.LineTo(x+step*6, y+step*8);
   Canvas.LineTo(x+step*6, y+step*9);
   Canvas.LineTo(x+step*5, y+step*8);
   Canvas.LineTo(x+step*2, y+step*8);

   {глаз}
   Canvas.Ellipse(x+step*2,y+step*2,x+step*3,y+step*3);

   {зрачок}
   Canvas.Brush.Style := bsSolid;
   Canvas.Brush.Color := clBlack;
   Canvas.Ellipse(x+7+step*2,y+(step div 2)+step*2,x+17+step*2,y+8+(step div 2)+step*2);


end;

end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.02.2014, 12:38   #4
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,899
По умолчанию

Я бы обратил внимание на программу Lines отсюда http://programmersforum.ru/showthread.php?t=214863
С её помощью можно нарисовать нужное, и при необходимости скопировать в свой код команды рисования. Этакий редактор операций канваса.
phomm вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Графика Делфи DomoOrc Фриланс 2 05.05.2013 13:56
Графика в Делфи Verax1 Помощь студентам 2 15.04.2012 16:33
графика в делфи Lena neznayka Помощь студентам 15 16.06.2010 10:08
Графика в Делфи R_A_M_I_L7777777 Помощь студентам 14 27.03.2009 15:21
Графика в Делфи Killbrum Мультимедиа в Delphi 19 17.09.2008 22:29