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 回答