zhangliahu
2015-10-15 08:45java swt canvas.redraw 画图问题
java swt canvas.redraw 画图问题
最新再用Java swt做桌面应用程序。,遇到一个小问题
问题描述:在地图上标记移动物体的位置,实际上就输在canvas中的图片上画点;由于是移动物体,所以位置时时刻刻都在变动,当把当前时刻物体绘制到canvas中的时候,就需要考虑下一次绘制,这时候我用的是canvas.redraw()来重新加载地图(图片),然后再把物体的绘制上去,这个过程就是用来刷新移动物体在地图上的位置的。问题来了,按照这个方法实际上是绘制的结果一闪而过,新的位置并没有显示到redraw之后的地图上。 求大神解答! 小弟特别感谢!
canvas.addPaintListener(new PaintListener(){
@Override
public void paintControl(PaintEvent e) {
e.gc.drawImage(image, 0, 0);
drawGridLine();
}
});
//程序某处 使用到canvas.redraw();
for(int j=0; j<aList.size(); j++)
{
canvas.redraw();
Point aPoint = (Point) aList.get(j);
gc.drawImage(imageDot, 0, 0, 54, 53,
(int)(aPoint.getX())-5, (int)(aPoint.getY())-5, 10, 10);
}
- 点赞
- 回答
- 收藏
- 复制链接分享
0条回答
为你推荐
- 请帮忙看看为什么canvas.drawBitmap没能显示出图片
- android
- canvas
- 图片
- 2个回答
- canvas转成base64 后生成的图片问题 会有叠影重叠的现象。
- base64
- svg
- 图片
- canvas
- 3个回答
- html5 canvas 绘制base64图片失败
- base64
- html5
- canvas
- 1个回答
- html5 多个canvas 如何用clearRect清除指定的一个canvas上的区域啊?
- 2个回答
- Android利用canvas画图然后在图片正中间写字
- 1个回答
换一换