把一图片改为画笔,用来画线!!!!!! (有代码)请大家帮忙看看应该怎么改好。 Delphi / Windows SDK/APIhttp://www.delphi2007.net/DelphiMultimedia/html/delphi_20061113161717153.html
最近在做一个画铁路线的程序,我想把画笔的形状改变,它的形状用我选择的图片(铁路图片,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.
好久不搞GDI了,具体细节都想不起来了。
to gogogo:我相信你一定能想起来的,帮帮忙吧,大哥!
1,Canvas.Brush.Bitmap属性用于指定使用位图来添充刷子要画的区域
2,Canvas.Rectangle(100,0, 105,300);
3,如果要改变画笔我觉得可以改变鼠标的形状
myBrush.lbStyle := form1.Canvas.Brush.Handle;//这个赋值什么意思?
form1.Canvas.Pen.Handle := ExtCreatePen(PS_GEOMETRIC , 20, myBrush, 0, nil);
感觉这2句有问题,
你的目的是创建一个刷子,然后Canvas用这个刷子创建一个 Pen
感觉这个Pen的创建有问题
提示你Handle属性不要轻易使用,还是找找其他的方法属性,另外近两不要用API,其他的抱歉真的想不起来。
反正感觉这2句不是多余,就是错了。
能不能改变画刷的角度的?因为我现在画斜线的时候这个图片还是原来的角度,我也想让他平行与画出来的线,旋转图片我试了一下,好像旋转后不太好,请问大家一下有没有刷子或者画笔改变角度的?
再请帮忙!