为什么form上的图形被覆盖后消失而image 上的却不?(100分)(0分)

  • 主题发起人 主题发起人 liuwen
  • 开始时间 开始时间
L

liuwen

Unregistered / Unconfirmed
GUEST, unregistred user!
<a href="http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=150119">分到这里取</a>
 
忘了一句.
为什么我要保存image上的图形,无论是用savedialog
还是savepicturedialog编译通过,无法创建图形.
 
1,因为image会自动重画,而form上的图形不会重画.
在canvas上画的东西不会被保存,而在image上的可以.
2,if savepicturedialog1.execute then
image1.picture.savetofile(savepicturedialog1.filename);

 
你将form中的绘图语句放在onpaint中就行了。

当windows需要重画某块区域时,会向该区域上的window发invalide消息,
从而调用了该window即form的onpaint来重画该区域,

而你在别处如mousemove,buttonclick等事件中在form.canvas上画的东西,
在window刷新该区域时,是不会被重画的。

你如果是用image的canvas画图也是一样,
但是如果你用的是image.loadfromfile之类的方法调的画面,
image的被保护的,其重画是由image自动维护的。
 
为什么我要保存image上的图形,无论是用savedialog还是savepicturedialog
编译通过,无法创建图形.
========================
上面的话没有读懂.
 
没有我的事情拉。
失望!
 
谢谢各位!
CAKK:
我在image上画了有些东西,其中包括调用的图形,
我想保存image上的所有的图案。
KEYES:
if savepicturedialog1.execute then
image1.picture.savetofile(savepicturedialog1.filename);
及if savedialog1.execute then
image1.picture.savetofile(savedialog1.filename);
都没有在我指定的目录下发现我存的文件。
我保留为自己设的格式如(*.aa)
是否是这里的问题?
 
你先试一试用标准后缀名保存能否成功?
 
b:tbitmap;
image.canvas.copyrect(...);
再保存b就是了。

在savepicturedialog1的filter中加入你的文件后缀:*.aa|*.aa
 
对不起,我太粗心了。判断文件是否存在时把正确的没else -_*
keyes/amo/cakk 麻烦<a href="http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=150119">你们到那边那分</a>
也谢谢lwlnic
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部