Как установить растровое изображение из ресурса

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

bm = BitmapFactory.decodeResource(null, R.id.image);

Это правильно?

Ответ 1

Предполагая, что вы вызываете это в классе Activity

Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.image);

Требуется первый параметр "Ресурсы". Обычно его можно получить в любом Контексте (и подклассах, таких как Activity).

Ответ 2

Попробуйте это

Это из sdcard

ImageView image = (ImageView) findViewById(R.id.test_image);
Bitmap bMap = BitmapFactory.decodeFile("/sdcard/test2.png");
image.setImageBitmap(bMap);

Это из ресурсов

Bitmap bMap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);

Ответ 3

Если ресурс отображается и представляет собой представление, вы также можете его захватить. Как скриншот:

View rootView = ((View) findViewById(R.id.yourView)).getRootView();
rootView.setDrawingCacheEnabled(true);
rootView.layout(0, 0, rootView.getWidth(), rootView.getHeight());
rootView.buildDrawingCache();

Bitmap bm = Bitmap.createBitmap(rootView.getDrawingCache());

rootView.setDrawingCacheEnabled(false);

Это фактически захватывает весь макет, но вы можете изменить его, как хотите.

Ответ 4

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

Bitmap contact_pic = BitmapFactory.decodeResource(v.getContext().getResources(), R.drawable.android_logo);

Теперь вы можете использовать этот объект растрового изображения, хотите ли вы его сохранить или использовать его на картах Google, рисуя рис. на фиксированной широте и долготе или использовать где-то еще

Ответ 5

Я нашел этот вопрос, когда захотел установить растровое изображение для своего представления. По этой причине я нашел этот код более полезным:

myImgView.setImageDrawable(getResources().getDrawable(R.drawable.monkey));

От здесь

Ответ 6

просто замените эту строку

bm = BitmapFactory.decodeResource(null, R.id.image);

с

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.YourImageName);

Я хочу сказать, просто измените значение null с помощью getResources() Если вы используете этот код в любой кнопке или в режиме просмотра изображения, просто добавьте getApplicationContext() перед getResources()..