Android Studio getBitmap возвращает ноль - PullRequest
2 голосов
/ 09 октября 2019

У меня проблема со строкой bmD.getBitmap(), возвращающей ноль.

Я зарегистрировал это, и это результат.

E/first: first  bmp: android.graphics.drawable.BitmapDrawable@2d55bad null

Вот мой код:

public static Bitmap drawableToBitmap(Drawable drawable) {
        Bitmap bm = null;

        if (drawable instanceof BitmapDrawable) {
            BitmapDrawable bmD = (BitmapDrawable) drawable;
            bmD.invalidateSelf();
            Log.e("first","first" + "  bmp: " + bmD +" " + bmD.getBitmap());
            if (bmD.getBitmap() != null) {
                bm = bmD.getBitmap();
                Log.e("second","second");
            }
        } else if (drawable instanceof VectorDrawable) {
            bm = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);

            Canvas canvas = new Canvas(bm);
            drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
            drawable.draw(canvas);
            Log.e("third","third");
        }

        return bm;
    }

1 Ответ

2 голосов
/ 09 октября 2019

Возможно, используемый вами эмулятор или устройство имеет другую плотность и пытается извлечь изображения из другой папки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...