Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как нарисовать линию на TBitmap [D7]


hgd ©   (2004-09-10 10:45:00) 

Как нарисовать линию на TBitmap?

Pic : TBitmap


hgd   (2004-09-10 12:41:00) [1]

А как очистить Canvas после зарисовки?


Ega23   (2004-09-10 12:06:00) [2]

не Image1.Canvas.FillRect(ClientRect),
а Image1.Canvas.FillRect(Image1.ClientRect);


PVOzerski   (2004-09-10 12:05:00) [3]

Можно, выставив Canvas.Pen.Mode:=pmNot и затирая предыдущее положение линии ее повторной прорисовкой. Но лучше бы это обсуждать в отдельной ветке...


hgd   (2004-09-10 11:57:00) [4]

А можно рисовать на Image линию в динамике (тоесть через OnMouseMove), да чтобы еще фон был прозрачный.

не помогает
Image1.Canvas.FillRect(ClientRect);


PVOzerski   (2004-09-10 11:32:00) [5]

procedure TForm1.Button1Click(Sender: TObject);
const
trapezium:array[0..3]of tPoint=(
 (x:200;y:0),
 (x:400;y:0),
 (x:550;y:400),
 (x:50;y:400)
);
begin
with Canvas do
 begin
  brush.Color:=clBlack;
  brush.Style:=bsCross;
  Polygon(slice(trapezium,4));
 end;
end;


Ega23   (2004-09-10 11:24:00) [6]


var
BrushColor, PenColor : Integer;

with Form1.Image1.Canvas. do
begin
 BrushColor:=Brush.Color;
 Brush.Color:=clRed; //(например)
 FillRect(Form1.Image1.ClientRect);
 Brush.Color:=Brush.Color;

 PenColor:=Pen.Color;
 Pen.Color:=clBlue;
 MoveTo(200, 0);
 LineTo(50, 400);
 MoveTo(400, 0);
 LineTo(550, 400);
 Pen.Color:=PenColor;
end


PVOzerski   (2004-09-10 11:23:00) [7]

Я ж говорю: юзай TCanvas.Polygon. Brush в Canvas'е соответсвующий сделай.


hgd   (2004-09-10 11:12:00) [8]

Нашел, свойство trunsp....
И еще один вопрос, как залить замнкнутый контур специфической заливкой (типа решеточки)?


hgd   (2004-09-10 11:03:00) [9]

with Form1 do
   begin
     Image1.Canvas.MoveTo(200, 0);
     Image1.Canvas.LineTo(50, 400);
     Image1.Canvas.MoveTo(400, 0);
     Image1.Canvas.LineTo(550, 400);
   end

  Этот текст рисует линию на Image1, а как сделать чтобы фона небыло, а то он белый?


Ega23   (2004-09-10 10:54:00) [10]

Там есть замечательные команды MoveTo и LineTo. Ими можно нарисовать АБСОЛЮТНО ВСЁ.


PVOzerski   (2004-09-10 10:53:00) [11]

См. TCanvas.Polygon, TCanvas.Polyline


hgd   (2004-09-10 10:49:00) [12]

А не подскажите, мне надо нарисовать трапецию, можно ли нарисовать ее с помощью Shape. там есть квадраты, прямоугольника, а как трапецию?


PVOzerski   (2004-09-10 10:47:00) [13]

Там же Canvas тоже есть. А хочешь - можешь на WinAPI, через Canvas.Handle.


Наверх

Титульная страница Поиск, карта сайта Написать письмо