canvas.drawbitmap иногда не работает

Я использовал canvas.drawbitmap(bitmap,matrix,paint) рисовать растровое изображение на холсте. да, это работало большую часть времени! Но иногда это не сработало. После того, как я назвал метод, на холсте ничего не было canvas.drawbitmap();Так что не так?

1: я выбрал изображение из альбома и получил растровое изображение с именем bgBitmap

2: Создан CanvasView который расширяется View, Затем создайте пустой холст, чтобы нарисовать что-то на нем.

mBitmap = Bitmap.createBitmap(screenWidth, screenHeight,Bitmap.Config.RGB_565);
mCanvas = new Canvas(mBitmap);  
mCanvas.drawColor(Color.WHITE);

protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    canvas.drawColor(getResources().getColor(R.color.color_white));
    canvas.drawBitmap(mBitmap, 0, 0, mBitmapPaint);   
}

3: нарисуйте картину на холсте.

mCanvas.drawBitmap(bgBitmap,matrix, bitmapPaint);
this.invalidate();

Это работало в большинстве случаев, но иногда не работало.

2 ответа

1: я выбрал изображение из альбома и получил растровое изображение с именем bgBitmap;

2: Создан CanvasView, который расширяет View.Then, Создайте пустое растровое изображение на холсте, чтобы нарисовать что-то на нем.

 mBitmap = Bitmap.createBitmap(screenWidth, screenHeight,Bitmap.Config.RGB_565);
 mCanvas = new Canvas(mBitmap);  
 mCanvas.drawColor(Color.WHITE);

protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    canvas.drawColor(getResources().getColor(R.color.color_white));
    canvas.drawBitmap(mBitmap, 0, 0, mBitmapPaint);   
}

3: нарисуйте картину на холсте.

 mCanvas.drawBitmap(bgBitmap,matrix, bitmapPaint);
 this.invalidate();

это работало большую часть времени, но иногда это не работало.

У меня была похожая проблема.... сначала "canvas.drawBitmap()" работал, но потом он перестал работать, в зависимости от того, какое растровое изображение я пытался отобразить. Я работал с фотографиями. Я уменьшил 24Mb панорамы до 400K, но даже это было слишком большим. Когда я уменьшил размер jpeg еще больше (уменьшение разрешения - без снижения качества цвета), он начал работать надежно.

Другие вопросы по тегам