Это кажется простым, я пытаюсь установить растровое изображение, но из ресурсов, которые есть в приложении в папке drawable.
bm = BitmapFactory.decodeResource(null, R.id.image);
Это верно?
Это кажется простым, я пытаюсь установить растровое изображение, но из ресурсов, которые есть в приложении в папке drawable.
bm = BitmapFactory.decodeResource(null, R.id.image);
Это верно?
Ответы:
Предполагая, что вы вызываете это в классе Activity
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.image);
Первый параметр, ресурсы, является обязательным. Обычно он доступен в любом контексте (и подклассах, таких как активность).
Попробуй это
Это из 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 при рисовании картинки на фиксированной широте и долготе, или использовать другие где-либо еще
просто замени эту строку
bm = BitmapFactory.decodeResource(null, R.id.image);
с участием
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.YourImageName);
Я имею в виду просто изменить нулевое значение с помощью getResources (). Если вы используете этот код в любой кнопке или событии щелчка при просмотре изображений, просто добавьте getApplicationContext () перед getResources ().
Используя эту функцию, вы можете получить растровое изображение. Просто передайте URL изображения
public Bitmap getBitmapFromURL(String strURL) {
try {
URL url = new URL(strURL);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap myBitmap = BitmapFactory.decodeStream(input);
return myBitmap;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}