Isso parece simples, estou tentando definir uma imagem de bitmap, mas com os recursos, tenho dentro do aplicativo na pasta drawable.
bm = BitmapFactory.decodeResource(null, R.id.image);
Isso está correto?
Isso parece simples, estou tentando definir uma imagem de bitmap, mas com os recursos, tenho dentro do aplicativo na pasta drawable.
bm = BitmapFactory.decodeResource(null, R.id.image);
Isso está correto?
Respostas:
Supondo que você esteja chamando isso em uma classe Activity
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.image);
O primeiro parâmetro, Recursos, é necessário. É normalmente obtido em qualquer contexto (e subclasses como Activity).
Tente isto
Isso é do sdcard
ImageView image = (ImageView) findViewById(R.id.test_image);
Bitmap bMap = BitmapFactory.decodeFile("/sdcard/test2.png");
image.setImageBitmap(bMap);
Isto é de recursos
Bitmap bMap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
Se o recurso estiver sendo exibido e for uma visualização, você também poderá capturá-lo. Como uma captura de tela:
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);
Isso realmente agarra todo o layout, mas você pode alterar conforme desejar.
Se você declarou um objeto de bitmap e deseja exibi-lo ou armazenar esse objeto de bitmap. mas primeiro é necessário atribuir qualquer imagem e você pode usar o evento click no botão, esse código demonstrará apenas como armazenar a imagem desenhável no objeto bitmap.
Bitmap contact_pic = BitmapFactory.decodeResource(
v.getContext().getResources(),
R.drawable.android_logo
);
Agora você pode usar esse objeto de bitmap, se deseja armazená-lo ou usá-lo no google maps enquanto desenha uma imagem em latitude e longitude fixa, ou usar alguns onde mais
apenas substitua esta linha
bm = BitmapFactory.decodeResource(null, R.id.image);
com
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.YourImageName);
Quero dizer, basta alterar o valor nulo com getResources () Se você usar esse código em qualquer botão ou no evento Image view click, basta anexar getApplicationContext () antes de getResources () ..
Usando esta função, você pode obter o Bitmap de imagem. Basta passar o URL da imagem
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;
}
}