如何实现画大的图形?(100分)

  • 主题发起人 主题发起人 gxh
  • 开始时间 开始时间
G

gxh

Unregistered / Unconfirmed
GUEST, unregistred user!
当在TImage对象上绘图时,其Width、Height可以为任意大小。当选定
Brush.Color时,将触发OnPaint,如果Width、Height比较大(
Width=10000、Height=10000)时,将耗尽系统资源,怎么办?通过
屏幕外画图再粘贴的办法也不可行。
另外,如果第一次定义TImage的大小为80*100,Brush.Color:=clWhite,
第二次定义TImage的大小为160*200,Brush.Color:=clWhite,重画后,
TImage的大小改变了,但底色的区域仍为80*100,而不是160*200;但如果
先定义TImage的大小为160*200,第二次定义TImage的大小为80*100,底色
改变正常,即从大区域到小区域正常,反之不正常。
希望各位仁兄中做过GIS或图形图像方面的人不吝赐教,最好能mail实例
程序。

 
TImage只适合于处理较小的图像.大的图像,需要:
1.自己定义数据结构,复杂程度视是否需要快速傅利叶变换或者分光谱处理而不同.
2.分块处理,必要时作磁盘交换.
 
你将TImage与TPicture搞混了, 大小图形转换时不是转换TImage的尺寸就能解决问
题的, 必须改变TImage.picture.bitmap的尺寸。 改变TImage的尺寸只是改变了他
显示的大小并没有改变其图像的大小。

当画大图的时候也是同样,要画大的picture而不是image,你搞了一个10000x10000
的Image自然会耗尽系统资源。要搞一个10000x10000的Bitmap,用屏幕大小的Image
来显示就不会出问题了。
 
为何那么喜欢用TImage,用TPaintBox 的自由度岂不更大一点?
 
喂喂喂!!!

gxh 那去了, 这边还等着长分呢!!!
 
他很忙啊 :)
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
591
import
I
后退
顶部