Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1226799
  • 博文数量: 788
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 7005
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-19 15:52
文章存档

2017年(81)

2011年(1)

2009年(369)

2008年(337)

分类:

2008-11-05 09:52:20



最近在做一个画铁路线的程序,我想把画笔的形状改变,它的形状用我选择的图片(铁路图片,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句不是多余,就是错了。

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

再请帮忙!



delphi2007 2008-11-05 09:40 发表评论
阅读(868) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~