本文主要是介绍SuperMap iClient 3D for WebGL 实现label不随屏幕旋转,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
作者:kk
前言
提示:SuperMap iClient 3D for WebGL中label总是随着屏幕旋转面向用户,但是在有的场景中需要label固定在某个地方,比如说高速公路旁边的广告牌,这时就需要label固定朝向某个方位。下面就让我们来看看如何去实现这种需求。
一、首先需要绘制一个canvas用于文字的展示
代码如下:
var canvas=document.createElement('canvas');canvas.width=256canvas.height=256var ctx=canvas.getContext('2d');ctx.font="50px Arial";//设置或返回文本内容的当前字体属性ctx.fillStyle="rgb(255,1,1)";//设置或返回用于填充绘画的颜色、渐变或模式ctx.fillText("我是一个不会旋转的label",128,128);//在画布上绘制“被填充的”文本
二、接下来便要将canvas转为base64的编码方式用于后续将canvas贴到entity wall上面
var pintest=canvas.toDataURL();
三、最后就是将转换好的canvas作为材质赋给咱们绘制好的wall上面
var wall= viewer.entities.add({id: "wall",wall:{positions:Cesium.Cartesian3.fromDegreesArray([110, 40, 110.001, 40]),maximumHeights:[90,90],material:new Cesium.ImageMaterialProperty({image:pintest,transparent:true}),},});
四、看下效果
这篇关于SuperMap iClient 3D for WebGL 实现label不随屏幕旋转的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!