Android -在API绘图例程中应用位图纹理



我有一个横跨整个屏幕的位图,它将作为我需要绘制到画布上的Path对象的纹理。然后我有一个背景图像,这个纹理路径需要绘制在上面。

我尝试使用portterduff模式,但似乎没有正确的工作。我很难弄清楚波特达夫模式到底是如何运作的,因为它们似乎都不像我一直认为的那样运作。

我已经想出了一种方法来纹理路径与这个测试代码:

Paint paint = new Paint();
    //draw the texture
canvas.drawBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.texture),0,0,paint);
   //construct the Path with an inverse even-odd fill
Path p = new Path();
p.setFillType(Path.FillType.INVERSE_EVEN_ODD);
p.addCircle(this.getHeight()/2, this.getWidth()/2, 200, Path.Direction.CCW);
   //use CLEAR to remove inverted fill, thus showing only the originally filled section
paint.setXfermode(new PorterDuffXfermode(android.graphics.PorterDuff.Mode.CLEAR));
   //draw path
canvas.drawPath(p, paint);

但是我不知道如何把它放在背景图像的顶部。我是不是用错了波特达夫模式?

也许我的问题可以引导你找到你的解决方案:

drawPath呼叫中使用的paint:
是什么风格的油漆?
画线宽度是多少?
什么是笔画/填充颜色?

如果你不使用笔画/填充颜色,而是纹理,在哪里调用油漆的setShader(使用BitmapShader)?

相关内容

  • 没有找到相关文章

最新更新