Форум: "Основная";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];
ВнизКак нарисовать линию на 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 вся ветка
Форум: "Основная";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.03 c