1

アプリでユーザーが円を描くことを可能にしたいと考えています。描画は非常に単純です。ユーザーはキャンバスのどこかを押してから、事前に定義された円を押すだけです

ここで難しいのは、ドローアブル (画像) を塗りつぶして描画することです。長方形くらいだと割と簡単です。次に、次のように書くだけです。

   Drawable drawable = getResources().getDrawable(R.drawable.my_background_picture);
   drawable.setBounds(myRectangle);
   drawable.draw(myCanvas);

すべてがonDraw()私のカスタムビューの方法で行われます。

残念ながら円で作る簡単な方法はありません。私が見つけたのは、 Vogella のチュートリアルを少し変更したものです。

    InputStream resource = getResources().openRawResource(R.drawable.sand);
    Bitmap bitmap = BitmapFactory.decodeStream(resource);

    BitmapShader shader;
    shader = new BitmapShader(bitmap, Shader.TileMode.CLAMP,Shader.TileMode.CLAMP);
    paint = new Paint();
    paint.setAntiAlias(true);
    paint.setShader(shader);

    myCanvas.drawRoundRect(myRectangle, 120, 120, paint);

一見問題ないように見えますが、そうではありません。このコマンドは下の写真の枠のようなものを作るので、写真の上で白丸を動かすだけです。実際に長方形のビットマップを移動する長方形とは異なります。

だから、私の質問は -移動/サイズ変更もできる円を描画可能にする方法はありますか?

4

1 に答える 1