canvas教程

Canvas内容重画问题,在线等!!!

字号+ 作者:H5之家 来源:H5之家 2017-10-08 13:01 我要评论( )

Canvas内容重画问题,在线等!!!由于事先不清楚要画的范围,在画完之后,调整画布的大小,但是超出原来画布边界的内容都无法显示(为空白)。br/br/br/请问有

你不为它设计区域,还想让它显示出来,难也。

可以设滚动条或拖动显示啊
我写的一个程序就这样实现的,是参考csdn发行的两张光盘中的一个例子
不过我现在没有源程序

我的Image是放在ScrollBox里面的,大小虽然设计的时候已经设定好,但是因为要画东西(可能超出范围),到最后还是要动态的调整Image的大小才能把全部内容显示出来!

还有别的方法吗???

在源程序里面缩小你要画的图呀!将横纵坐标都调到原来的一半看看!
如Y=Y/2;
将代码改过来!

这样的话,整个图形(包括文字)都变化了,行不通!!

但是我的画图操作是封装为一个函数,当数据有变化的时候,要调用该函数重新再画一次。

另外,我的Canvas是Image的,Image放在Panel里面,Panel放在ScrollBox里面。

请问如何解决??

补充一下:我的画图函数带了很多参数

大哥,如果真像你说的那样,那你封装的类一定不好用。还是改一下,免得以后编程麻烦。

你在画图前,计算出画图的区域了,然后调整画布大小不就得了么

我建议,先安置一个最底层的PaintBox,然后所有的操作都针对这个PaintBox来进行,如果我想的没有错的话,你的所有的图形图象画在Form的Canvas上的!那么你完全可以用PaintBox的Canvas来代替Form的Canvas,而PaintBox就灵活多了,然后再针对PaintBox上已知的图象大小再对Form的Canvas来更改,就方便多了,我有一个window下的精灵游戏就是用这个方法来编写的,我个人认为较好

这个问题很麻烦
唯一的方法就是在画前设置好Image的尺寸

我做过试验,一旦Image的大小改变(比原来范围扩大了),之后所有画的东西都是无法显示的,所以,唯一的方法就是whitelion(chinaproject.51.net)的方法了。


谢谢大家的帮忙,结贴!!

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • HTML学习总结(四)【canvas绘图、WebGL、SVG】

    HTML学习总结(四)【canvas绘图、WebGL、SVG】

    2017-09-15 08:08

  • 请教一个屏幕画图问题,呼唤高手!

    请教一个屏幕画图问题,呼唤高手!

    2017-09-14 16:02

  • HTML5 Canvas 画钟表

    HTML5 Canvas 画钟表

    2017-09-12 17:02

  • 使用chart.js在canvas上面画线形图bug

    使用chart.js在canvas上面画线形图bug

    2017-09-08 12:21

网友点评