Вниз
Скачать: CL | DM;

Как нарисовать линию на TBitmap   Найти похожие ветки 

 
hgd   (2004-09-10 10:45) [0]

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

Pic : TBitmap


 
PVOzerski ©   (2004-09-10 10:47) [1]

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


 
hgd   (2004-09-10 10:49) [2]

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


 
PVOzerski ©   (2004-09-10 10:53) [3]

См. TCanvas.Polygon, TCanvas.Polyline


 
Ega23 ©   (2004-09-10 10:54) [4]

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


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

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, а как сделать чтобы фона небыло, а то он белый?


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

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


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

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


 
Ega23 ©   (2004-09-10 11:24) [8]


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:32) [9]

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;


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

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

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


 
PVOzerski ©   (2004-09-10 12:05) [11]

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


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

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


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

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.026 c
9-1085639532
Александр
2004-05-27 10:32
2004.09.26
Проблемы с TCanvas


1-1094667825
Jus
2004-09-08 22:23
2004.09.26
Если я захочу сделать ещё один дом Dom2:TObj то как поступить? По


1-1095089837
Charly22
2004-09-13 19:37
2004.09.26
Что мешает удалению каталога?


1-1095069393
Чайник
2004-09-13 13:56
2004.09.26
Stringgrid


11-1080814755
nester
2004-04-01 14:19
2004.09.26
Почему глючит showmodal в Thread?




   Наверх