8

我有一个 8x8 图像。(位图 - 可以更改)

我想要做的是能够绘制一个形状,给定 aPathPaint对象到我的SurfaceView.

目前我所能做的就是用纯色填充形状。我怎样才能用图案画出来。

例子

在图像中,您可以看到画笔图案(十字)。它可以是任何东西,从十字架到甜甜圈或精灵。

我将如何绘制这种图案背景。

我最终也想给它涂上颜色。

到目前为止,我的理论是创建一个形状的剪辑区域,然后平铺位图直到覆盖该区域,但这在处理中是极端的过度杀伤力。听起来也不理想。

在着色方面,我可以将画笔编辑为 alpha,用背景颜色填充,然后在顶部绘制图像。真正的问题是这种模式的平铺。

我发现了一些类似性质的问题,都没有答案,和/或不适用于我的情况。(在视图等上使用 xmls)

4

1 回答 1

20

你检查过这个博客吗?它使用BitmapShader

例子:

    //Initialize the bitmap object by loading an image from the resources folder  
    fillBMP = BitmapFactory.decodeResource(m_context.getResources(), R.drawable.cross);  
    //Initialize the BitmapShader with the Bitmap object and set the texture tile mode  
    fillBMPshader = new BitmapShader(fillBMP, Shader.TileMode.REPEAT, Shader.TileMode.REPEAT);  

    fillPaint.setStyle(Paint.Style.FILL);  
    //Assign the 'fillBMPshader' to this paint  
    fillPaint.setShader(fillBMPshader);  

    //Draw the fill of any shape you want, using the paint object.
    canvas.drawCircle(posX, posY, 100, fillPaint);
于 2012-11-09T11:49:27.420 回答