混合重叠区域的alpha而不添加alpha

时间:2017-11-02 02:58:41

标签: android opengl-es android-canvas android-paint

我不知道我问的是否可能 我有var i;//your for loop creates a global variable called i for (i = 0; i < snapshot.numChildren(); i++) { waitForLoad( snapshot.val()[keys[i]]['name'] ,(function(index){ //create closure variables based on index var locationKey = keys[index] ,nickName = snapshot.val()[locationKey]['name'] ,locLat = snapshot.val()[locationKey]['position']['lat'] ,locLng = snapshot.val()[locationKey]['position']['lng'] ,locNick = snapshot.val()[locationKey]['name']; return function(){ document.getElementById(nickName).onclick = function (event) { tempRef = ref.child("users/{{ user.username }}/temp_location"); tempRef.set( { position: { lat: locLat, lng: locLng }, name: locNick } ); location.href = "{% url 'tutorLocationActivities' %}"; } ; } }(i)) ); } Paint,其中包含0.2f的alpha和两个对象:

enter image description here

他们都使用相同的Color.BLACK。我还测试了2个不同的Paint个对象只更改Paint,但我没有成功。我想要的是避免重叠区域变暗,换句话说,我不希望他们“添加”他们的alpha通道。我希望所有对象具有相同的alpha值(即使它们重叠)。可能吗?我怎样才能实现呢? 谢谢你的时间。

1 个答案:

答案 0 :(得分:2)

对两个对象使用单个路径。

Path path = new Path();
path.moveTo(..
path.lineTo(..
path.addCircle(...
canvas.drawPath(path, paint);

但是在输入时,我记得只有当两个对象具有相同的样式时才能起作用 - 无论是填充还是两个笔划,还是填充和描边

有两种不同的油漆对象,我认为不可能。