影像缓存背景色不能设置为透明

0 投票
使用产品:iserver 9d
var layer = viewer.imageryLayers.addImageryProvider(new Cesium.SuperMapImageryProvider(
    {
        url: img
    }
));
var backgroundcolor = Cesium.Color.fromBytes(0, 0, 0);
layer.transperantBackColor = backgroundcolor;
layer.transperantBackColorTolerance = 24;

请问我用上面代码对影像缓存图层设置了背景色透明,但是还是有黑色背景,不知道是哪儿出现问题了呢?

6月 27, 2018 分类:  660次浏览 | 用户: ruoshui (6 分)

1个回答

0 投票
我这里的dom数据也是这样的黑色背景,跟数据源有关系吧,在发布成服务之前要做的处理吧。不确定,可以等大神给出明确答案。
6月 28, 2018 用户: 72degrees 牛刀小试 (141 分)
设置透明色的同时需要给透明色设置一个容限transperantBackColorTolerance 才起效果。
设置了layer.transperantBackColorTolerance = 24;但是背景黑色还在,这就费解了。

刚刚没仔细看代码,

var backgroundcolor = Cesium.Color.fromBytes(0, 0, 0);

这里获取颜色值直接用RGB模式,不用字节试试呢

Cesium.Color.fromRgba

用fromRgba之后还是有黑色背景,用iDesktop加载数据,设置透明色为黑色和容差就可以去除黑色背景,加载到webgl,设置了黑色和容差就去不掉。

http://support.supermap.com.cn:8090/webgl/examples/editor.html#terrainAndImagery

看看这个范例,肯定是可以设置的,不行的话,把你的数据替换一下,直接用这个范例试试。

兄弟,这个影像图有黑色背景的问题解决了没
...