把一圖片改為畫筆,用來畫線!!!!!! (有代碼)請大家幫忙看看應該怎麼改好。 Delphi / Windows SDK/API
http://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句不是多餘,就是錯了。
能不能改變畫刷的角度的?因為我現在畫斜線的時候這個圖片還是原來的角度,我也想讓他平行與畫出來的線,旋轉圖片我試了一下,好像旋轉後不太好,請問大家一下有沒有刷子或者畫筆改變角度的?
再請幫忙!