2014-01-13 4 views
1

Я перезаписаны onDragShadow не рисунок для DragShadowBuilder как такcanvas.drawBitmap это ничего

@Override 
    public void onDrawShadow(Canvas canvas) { 
     super.onDrawShadow(canvas); 
     Bitmap bitmap = InGameActivity.getRandomBitmap(); 
     Rect source = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); 
     canvas.drawBitmap(bitmap, source, source, null); 

    } 

Я проверил, что растровое изображение не является нулевым, но когда я тащу, ничего не отображается. Любые идеи почему?

+0

Вы проверили, что растровое изображение не пустое? Попробуйте выполнить регистрацию вызовов getPixel(). –

+1

Попробуйте canvas.drawBitmap (bitmap, null, source, null); Может возникнуть конфликт из-за того, что src и dst установлены на один и тот же объект. Если вам не нужно подмножество рисованного рисунка (т. Е. Вы хотите все это), тогда src должен быть нулевым. – NigelK

+0

@NigelK Ах да, это сработало. Пожалуйста, отправьте комментарий ура в качестве ответа, чтобы я мог подняться и принять – Ogen

ответ

2

Если вы хотите нарисовать растровое изображение как есть (т.е. вы хотите все это), использование:

canvas.drawBitmap(bitmap, null, source, null); 

2-й параметр для того, где вы должны указать подмножество точечного рисунка, который можно сделать (он может быть нулевым, если не требуется подмножество). Я ожидаю, что внутри метода будет конфликт, если у вас есть src и dst (2-й и 3-й параметры), установленные для одного и того же объекта.

Смежные вопросы