8

私は8x8の画像を持っています。(ビットマップ - 変更可能)

Path私がやりたいことは、与えられたとPaintオブジェクトを myに描画できるようにすることSurfaceViewです。

現時点でできることは、形状を単色で塗りつぶすことだけです。どうすればパターンで描くことができますか。

例

画像では、ブラシ パターン (クロス) を見ることができます。十字架からドーナツ、エルフまで何でもかまいません。

この模様の背景をどう描くか。

また、最終的には色を適用したいと考えています。

これまでのところ、私の理論では、形状のクリップ領域を作成し、領域が覆われるまでビットマップをタイル張りしますが、これは処理が非常にやり過ぎです。理想的なサウンドでもありません。

色付けに関しては、ブラシを編集してアルファにし、背景色で塗りつぶしてから、その上に画像を描画します。本当の問題は、そのようなパターンのタイリングです。

同様の性質の質問がいくつか見つかりましたが、すべて未回答であり、私の状況には当てはまりません。(ビューなどでのxmlの使用)

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 に答える