首页 / 浏览问题 / 组件GIS / 问题详情
iObjects.java中能否通过绘制图片达成类似播放视频的效果
263EXP 2025年01月10日

如题,现在想实现在iObjects.java显示的地图上添加一个视频的效果

目前想通过读取视频文件并记录下每一帧的BufferedImage,然后描绘到图中显示来实现

但直接使用map.getMapControl().getGraphics().drawImage的场合,鼠标一动原本绘制的图像就会消失

在跟踪图层里添加GeoPicture并刷新跟踪图层又会导致鼠标图标时不时变成沙漏,而且也没有直接绘图的效果流畅
mapControl.getMap().getTrackingLayer().add(geoPicture,"testGeoPicture" + currentFrameIndex);
mapControl.getMap().refreshTrackingLayer();

请问在iObjects.Java里想实现在地图上播放视频的效果的话应该如何操作?

1个回答

您好,跟踪图层只是用来作为一些实现测量标注或分析类功能标注的临时数据图层,

跟踪图层本身并不适用于存放大量数据集,以及大量频繁更新,跟踪图层本身十分消耗内存资源。

如果您想要模拟视频播放的效果,同时想要流畅,建议通过图层级显隐控制,或者图层内对象级显隐控制来实现可以达到流畅切稳定。

就像桌面端的时态数据播放或图层数据播放功能。

希望可以帮助到您。
10,858EXP 2025年01月10日
感谢解答,请问这个图层内对象级显隐应该如何操作?

意思是我可以把视频的每一帧BufferedImage作为一个要素添加进同一个图层中,然后这个图层通过控制每帧的显隐来实现播放视频的效果吗?
请问有没有办法让map.getMapControl().getGraphics().drawImage不会随着鼠标的移动消失

或者如果能让我控制能够绘图的图层,让其不是在地图上绘制图片,而是在图层上绘制并显示的话更好
...