Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.035 c
4-1091191488
dms_main
2004-07-30 16:44
2004.09.26
Имя текущего пользователя системы


4-1091673171
Cash
2004-08-05 06:32
2004.09.26
Чтоб модем в колонки пищал.


6-1090414883
DukeDEE
2004-07-21 17:01
2004.09.26
Инетграция в Internet Explorer


4-1092411169
TeNY
2004-08-13 19:32
2004.09.26
SPTI где можно достать компонент или заголовочный файл


4-1092476916
Nomolos
2004-08-14 13:48
2004.09.26
Добавить свой пункт в меню "Найти"





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский