Как получить Bitmap с его фактическим размером в переменной Bitmap независимо от того, что я использую - PullRequest
2 голосов
/ 08 мая 2020

У меня есть изображение jpg размером 1080 * 1080 в моей папке с возможностью переноса, когда я сохраняю его в переменной Bitmap, размер растрового изображения не отображается как 1080 * 1080, он отображается в зависимости от устройства, которое я использую , Я хочу нарисовать фактическое изображение с размером 1080 * 1080 на холсте, любая идея, как получить растровое изображение с фактическим размером

    Bitmap bitmap = BitmapFactory.decodeResource(activity.getResources(), R.drawable.template_image);
    int w = bitmap.getWidth();
    int h = bitmap.getHeight();

Переменные w и h не отображаются 1080 * 1080, на разных устройствах по разному

1 Ответ

1 голос
/ 08 мая 2020

поместите файл изображения в drawable-nodpi Эта папка сообщает android избегать масштабирования файла изображения при любой плотности пикселей:

Подробнее Средняя статья

Если вам нужно получить только размер изображения без отображения внутреннего изображения:

BitmapFactory.Options options = new BitmapFactory.Options();
//Just Retreive info about the bitmap without loading inside memory to avoid OutOfMemory.
options.inJustDecodeBounds(true)
Bitmap bitmap = BitmapFactory.decodeResource(activity.getResources(), R.drawable.template_image, options);
int w = options.outWidth;
int h = options.outHeight;
...