有没有办法在绘制之前在画布上安排可绘制的绘图?我的意思是设置哪个drawable将会绘制在前面,哪个drawable会绘制在后面。安排画布上绘制的绘图
2
A
回答
3
它们按您绘制的顺序绘制。试试先画一张,最后一张。
0
稍后您可以绘制到临时画布以绘制到主画布。
Picture iconFrame = new Picture();
Canvas tempCanvas = iconFrame.beginRecording(width, height);
// width and height refer to the intended destination canvas size
...
// Any configuration before performing the draw should be done here
tempCanvas.drawPath(...);
tempCanvas.drawBitmap(...);
// Any required draw commands for this image should be done to tempCanvas
iconFrame.endRecording();
...
// Any other configuration or draw commands can be done here
iconFrame.draw(canvas);
// Assigns the content of tempCanvas to the top of the main Canvas
在我的情况下,自定义路径中我的形象的PorterDuff操作如果因为后来抽奖损坏它,它是第一只进行工作。
0
一个办法做到这一点是有你画定义的z-index变量的一切,并收集你在一个点绘制的一切,并把它们在列表中,你再画它为了用的z-index之前。
例如:
Interface IDrawable{
int getZ();
void draw();
}
class drawMe implements IDrawable{
@overrider
draw(){
/// do my drawing
}
@override
int getZ() {return z; }
}
绘图或主类
List<IDrawable> myList= new ArrayList();
myList.Add(new DrawMe());
,并在您的抽奖方法
for(IDrawable draw : myList.OrderBy(z){
draw.draw();
}
这就是概念反正
相关问题
- 1. 安卓:在画布上绘制
- 2. 安卓:在画布上绘制
- 3. 安卓在画布上绘制
- 4. 安卓画布绘图
- 5. 在画布上绘制ArcTo
- 6. 绘制在画布上
- 7. 在画布上绘制
- 8. 在子画布上绘制
- 9. 在Scala.js上绘制画布
- 10. 在画布上绘制SVG
- 11. HTML5画布绘制图像
- 12. WPF画布图形绘制
- 13. 在画布上反转绘制位图
- 14. 绘制大型图像到画布上
- 15. 在画布上绘制对象/图像
- 16. 在画布上绘制背景图像
- 17. 在缩放画布上绘制图像
- 18. 在画布上绘制旋转图像
- 19. 在画布上绘制阵列图像?
- 20. 用JQuery在画布上绘制图像
- 21. 直接在画布上绘制位图vs在画布上
- 22. HTML5画布绘制
- 23. 绘制到画布
- 24. Matplotlib画布绘制
- 25. 如何变暗画布或画布上绘制的图像?
- 26. 安卓在缩放后在画布上绘制位图
- 27. 安卓图形绘制在画布上问题
- 28. AngularJS画布绘图
- 29. 绘图画布SurfaceView
- 30. HTML画布绘图
我知道,我需要更好的方法 – Liukas 2012-01-05 11:37:41
那么......然后你正在寻找类似z-index的东西,对吧?至于据我所知没有这样的事情。但是如果你知道你的drawable应该有哪个z-index,只需要命令它们并以这种方式绘制它们即可。它没有什么区别。或者给自己写一个类,让你给所有的drawable和z-index,并按照正确的顺序绘制它们。问题究竟在哪里? – mseo 2012-01-05 22:23:44
嗯,你看,我想要一个drawable在另一个drawable中绘制在for循环中。但我不希望它在循环中绘制的所有drawable的后面,所以把代码放在第一位并不会帮助我:/ – Liukas 2012-01-05 23:24:53