在画图时,DELPHI的画布只支持10米的长度(我是指实际的画布长,即象素点约为32000左右)
如何能解决这样一个问题呢?用两块画布叠加也许行,但是有没有更好的办法用一块画布来支持超过10米长度的呢?请高手解决!最好能从TCustomControl继承下的解决这个问题!谢谢!!!,一定200分相送!!!

解决方案 »

  1.   

    我也想知道该怎样解决。不过我认为DELPHI不可能让画布无限长啊,总得有个限制呀,所以建议还是用几块画布拼吧。其实这个实现起来并不难的。
      

  2.   

    我也想用几块画布来拼,可由于我以前写的一个类是继承自TCustomControl的,如果采用几块画布重写类的话,工作量实在太大啦,所以想有没有通融的办法来解决一下至于内存方面,其实不是很大的问题
    其实画布不能超过10米,我估计是Windows系统的窗口的高度可能采用的是短整形的数据,做计是一个Windows的BUG
    希望哪位有办法能指导一下,本人感激不尽
      

  3.   

    调用PHOTOSHOP的吧.
    把它当成一个插件和形式
      

  4.   

    我现在也在琢磨这个问题啊,要实现实时曲线不断的向左移,关注ing
      

  5.   

    回复人: alfree(烨) ( ) 信誉:100 
       我现在也在琢磨这个问题啊,要实现实时曲线不断的向左移,关注ing
    -------------------------------------------------------------------
    看来我们做的东西差不多,不过我的是向下移动
    但超出长度后,就会变得比例失真啦!上面说的写到文件里,和我的需求不符,因为我要的是显示在屏幕幕上
    调用PHOTOSHOP更是不可能,因为我现在是想在TCustomControl上继承下来,我以前画图就是在TCustomControl控件上操作的,因此想改写TCustomControl控件,让其能支持10米以上的长度
      

  6.   

    用TMetaFile绘制,超过长度了,现在部分存成文件。另开一个TMetaFile
      

  7.   

    系统没这么多的资源支持呀?
    你想做什么?物理上行不通,可以采用逻辑方法达到相同的目的考虑动态拼图方法了,这个方法类似Virtual Listview技术,只处理需要见到的部分,不见部分在硬盘中,需要就Loadhttp://lysoft.7u7.net
      

  8.   

    ly_liuyang(Liu Yang) ( ) 信誉:194 
     由于以前的图形绘制都是在TCustomControl上实现的,现在发现TCusomControl不支持这么长的画布,因此,想在TCustomControl基础上再实现无限长的画布功能,其它的功能都不改变!
      

  9.   

    你不需要用画布拼接,也不需要很大的画布,只需要想个办法将要绘制的内容进行剪裁处理即可,CAD,GIS 等要显示很大区域的图形恐怕也不要很大的画布。
      

  10.   

    此问题已经解决
    谢谢各位捧场,高手请看另一个题目:
    http://community.csdn.net/Expert/topic/3441/3441515.xml?temp=4.741848E-03此贴明日结,来者有分