Как установить растровое изображение из ресурса
это кажется простым, я пытаюсь установить растровое изображение, но из ресурсов, у меня есть в приложении в папке drawable.
bm = BitmapFactory.decodeResource(null, R.id.image);
это правильно?
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));
С здесь