0

ボタンがあり、それをクリックするとflag.png画像が作成され、キャンバス上の任意の場所に配置したい

これは私のフラグボタンのコードです

        // the flag button
    Button flag = (Button) findViewById(R.id.btnFlag1);
    flag.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
        flag(R.drawable.flag1);
        }
        });

これが私の機能です

public void flag(int resourceID) {
    Bitmap flagBitmap = BitmapFactory.decodeResource(
            getResources(), resourceID);
    Canvas c = new Canvas(flagBitmap);
    c.drawBitmap(flagBitmap, null, null);
}

何も起こらない atm ..

フラグは円で、ボタンとして持っています。各ボタンをクリックするとフラグが挿入され、必要な場所に配置できるようにしたいのです。

写真編集アプリのスマイリーのように

4

1 に答える 1

1

質問でimageviewの使用について言及したのに、使用しているのはビットマップ画像を描画するためのキャンバスである理由がわかりません。それをimageview-wayで実行したい場合は、次のコードを参考にしてください。

ImageView pic = (ImageView) findViewById(R.id.imageview);
Bitmap img=BitmapFactory.decodeResource(getResources(),R.drawable.flag1);
pic.setImageBitmap(img);

必ずxmlファイルでimageviewを宣言してください。他にご不明な点がある場合や、ご質問が間違っている場合は、お気軽にコメントしてください。

編集:

Matrix matrix = new Matrix();
matrix.reset();
matrix.postTranslate(x, y);

pic.setScaleType(ScaleType.MATRIX);
pic.setImageMatrix(matrix);

xとyの代わりに、フラグを配置する場所にxとyの座標を挿入します。

于 2012-08-13T01:48:02.530 に答える