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


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

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

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

6 249

6 ответов:

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

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

первый параметр, Resources, является обязательным. Он обычно доступен в любом контексте (и подклассах, таких как Activity).

попробуй такое

это с 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);

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

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);

Это на самом деле захватывает весь макет, но вы можете изменить, как вы хотите.

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

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

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

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

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

С

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

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

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

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

С здесь