0

背景 ti ビットマップを設定し、その上に描画できるようにしようとしているので、後でビットマップをギャラリーに保存できます。

@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
    paint.setStrokeWidth(changeWidth());
        if (bitmap == null)
               {            
                bitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_4444);                   
               }

              //Boolean parameters allowing to change bg in case preference changed
            if(prefs_grid)
                {
                    bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.grid_view);

                }
            if(prefs_ruler)
                {
                    bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.rulers_view);
                }


            canvas = new Canvas();
            try {
                canvas.setBitmap(bitmap);
            } catch (Exception e) {
                e.printStackTrace();
                Log.w("setBitmap", "unable to set Bitmap");
            }
            super.onSizeChanged(w, h, oldw, oldh);
}

ここでビットマップを変更します。ビットマップは変更されますが、次の行は変更されます: canvas.setBitmap(bitmap); 動作せず、取得できないのはなぜですか? 誰かがこの問題について私に相談できますか.

ありがとう、

4

1 に答える 1

0

これを追加してみてください

canvas = this.surfaceHolder.lockCanvas();

// 排他的なピクセル編集のためにキャンバスをロックしてみてください

// 表面で

于 2012-08-30T07:45:26.883 に答える