delphi2007 教程

delphi2007 教程

首页 新随笔 联系 聚合 管理
  1013 Posts :: 0 Stories :: 28 Comments :: 0 Trackbacks
把一图片改为画笔,用来画线!!!!!! (有代码)请大家帮忙看看应该怎么改好。 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句不是多余,就是错了。

能不能改变画刷的角度的?因为我现在画斜线的时候这个图片还是原来的角度,我也想让他平行与画出来的线,旋转图片我试了一下,好像旋转后不太好,请问大家一下有没有刷子或者画笔改变角度的?

再请帮忙!

posted on 2008-11-05 09:40 delphi2007 阅读(362) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。