最近在做一个画铁路线的程序,我想把画笔的形状改变,它的形状用我选择的图片(铁路图片,bmp格式)来替换,这样再画线的时候,就是选择的图片。我急需大家的帮忙!这是我写的代码,但是就是不能正常显示。希望大家给点提示:不会的帮忙顶一下。
procedure TForm1.Button1Click(Sender: TObject);
var
Bmpmap:TBitmap;
myBrush: LOGBRUSH;
begin Bmpmap := TBitmap.Create;
try
Bmpmap.LoadFromFile('C:\bmp\31-1.bmp');
form1.Canvas.Brush.Bitmap := Bmpmap;
myBrush.lbStyle := form1.Canvas.Brush.Handle; form1.Canvas.Pen.Handle := ExtCreatePen(PS_GEOMETRIC , 20, myBrush, 0, nil);
form1.canvas.MoveTo(100,0);
form1.canvas.LineTo(100,300);
finally
Bmpmap.Free;
end;
end;
end.
procedure TForm1.Button1Click(Sender: TObject);
var
Bmpmap:TBitmap;
myBrush: LOGBRUSH;
begin Bmpmap := TBitmap.Create;
try
Bmpmap.LoadFromFile('C:\bmp\31-1.bmp');
form1.Canvas.Brush.Bitmap := Bmpmap;
myBrush.lbStyle := form1.Canvas.Brush.Handle; form1.Canvas.Pen.Handle := ExtCreatePen(PS_GEOMETRIC , 20, myBrush, 0, nil);
form1.canvas.MoveTo(100,0);
form1.canvas.LineTo(100,300);
finally
Bmpmap.Free;
end;
end;
end.
2,Canvas.Rectangle(100,0, 105,300);
3,如果要改变画笔我觉得可以改变鼠标的形状
感觉这2句有问题,
你的目的是创建一个刷子,然后Canvas用这个刷子创建一个 Pen
感觉这个Pen的创建有问题
提示你Handle属性不要轻易使用,还是找找其他的方法属性,另外近两不要用API,其他的抱歉真的想不起来。
反正感觉这2句不是多余,就是错了。