请高手看一下这段源代码,帮我解决一下(20分)

  • 主题发起人 主题发起人 lwt
  • 开始时间 开始时间
L

lwt

Unregistered / Unconfirmed
GUEST, unregistred user!
var
Bitmap: TBitmap;
begin
Bitmap := TBitmap.Create;
try
Bitmap.LoadFromFile('MyBitmap.bmp');
Form1.Canvas.Brush.Bitmap := Bitmap;
Form1.Canvas.lineto(100,100);
finally
Form1.Canvas.Brush.Bitmap := nil;
Bitmap.Free;
end;
end;
为什么画出来的线是黑色的,而不是位图.用什么办法可以解决?
 
LineTo的颜色是Canvas.Brush.Color控制的当然是黑色了。
你可以用Draw方法
 
var
Bitmap: TBitmap;
begin
Bitmap := TBitmap.Create;
try
Bitmap.LoadFromFile(Mybitmap.bmp');
form1.Canvas.CopyRect(Rect(0, 0, bitmap.Width,bitmap.Height),bitmap.Canvas,Rect(0, 0, bitmap.Width,bitmap.Height));
// Form1.Canvas.Brush.Bitmap := Bitmap;
Form1.Canvas.lineto(100,100);
finally
Form1.Canvas.Brush.Bitmap := nil;
Bitmap.Free;
end;
end;
 
cai兄说的对。右在lineto 语句前加上
Form1.Canvas.Pen.Color:=rgb(255,0,0);
 
我的意思是:
这条线我长度不定,这个位图的大小不定,如果位图的长度小于线的长度,则重复画位图
 
Brush 是控制 Brush
Line 是控制 Line
 
Why did you Lineto();
 
多人接受答案了。
 
后退
顶部