Главная страница
    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.03 c
4-1092829741
WondeRu
2004-08-18 15:49
2004.09.26
Как узнать Handle всех окон данного приложения?


1-1094665202
AVKAR
2004-09-08 21:40
2004.09.26
TDateTimePicker


1-1094931175
sloug
2004-09-11 23:32
2004.09.26
Цвет шрифта


14-1094114975
Knight
2004-09-02 12:49
2004.09.26
Кто-нибудь сам мониторы фокусировал?


3-1093709094
Floppy
2004-08-28 20:04
2004.09.26
Поле "Char" в таблице Access?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский