delphi2007 教程

delphi2007 教程

首页 新随笔 联系 聚合 管理
  1013 Posts :: 0 Stories :: 28 Comments :: 0 Trackbacks
求助!如何在动态改变大小的Image上画图! Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiMultimedia/html/delphi_20061031221025186.html
程序需要在能动态改变大小的Image上画图.  
  初始的Image控件大小为一个屏幕。在运行中当动态的将宽高改为超出当前屏幕后,所画图在超出屏幕的部分却无法显示。放佛仅仅是Image大小改变,而Canvas却未延展到屏幕外区域。  
   
  已经试过将Image控件放在一个ScrollBox内,依然无效,求助!  
 

用image画?  
  你没有处理WM_PAINT消息进行重画,当然画不出来了。  
  不用超出屏幕,随便一个窗口往你的image上面一遮,你所画的就没有了。  
  应该用paintbox,在它的onpaint方法里画.

不要用Image.Canvas  
  用Image.Picture.Bitmap.Canvas   就可以了  
  注意对于Image.Picture.Bitmap的大小的处理要正确

设置Image空间的拉伸属性试试看。。  
  Image.Stretch   :=   True;

设定不让它画到边框外边不就行了  
   
  如果最后的点超出边框,就用最大的边框值的点来代替~~!

已经自己解决,其实要改image.picture.bitmap的宽高

:)

在Image改变大小时,其实内部使用的Bitmap对象没有一起更改。你只要手动修改这个就好了。

建议使用矢量图形组件TCAD  
  http://www.codeidea.com/cn/  
   
 

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