Wydaje się to proste, próbuję ustawić obraz bitmapowy, ale z zasobów mam go w aplikacji w folderze do rysowania.
bm = BitmapFactory.decodeResource(null, R.id.image);
Czy to jest poprawne?
Wydaje się to proste, próbuję ustawić obraz bitmapowy, ale z zasobów mam go w aplikacji w folderze do rysowania.
bm = BitmapFactory.decodeResource(null, R.id.image);
Czy to jest poprawne?
Odpowiedzi:
Zakładając, że nazywasz to klasą aktywności
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.image);
Pierwszy parametr, Zasoby, jest wymagany. Zwykle można go uzyskać w dowolnym kontekście (i podklasach takich jak działanie).
Spróbuj tego
To jest z sdcard
ImageView image = (ImageView) findViewById(R.id.test_image);
Bitmap bMap = BitmapFactory.decodeFile("/sdcard/test2.png");
image.setImageBitmap(bMap);
To pochodzi z zasobów
Bitmap bMap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
Jeśli zasób jest wyświetlany i jest widokiem, możesz go również przechwycić. Jak zrzut ekranu:
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);
To faktycznie obejmuje cały układ, ale możesz go zmieniać, jak chcesz.
Jeśli zadeklarowałeś obiekt bitmapowy i chcesz go wyświetlić lub zapisać ten obiekt bitmapowy. ale najpierw musisz przypisać dowolny obraz i możesz użyć zdarzenia kliknięcia przycisku, ten kod pokaże tylko, jak przechowywać obraz do rysowania w obiekcie bitmapy.
Bitmap contact_pic = BitmapFactory.decodeResource(
v.getContext().getResources(),
R.drawable.android_logo
);
Teraz możesz użyć tego obiektu bitmapowego, niezależnie od tego, czy chcesz go zapisać, czy użyć go w mapach Google podczas rysowania obrazu na stałej szerokości i długości geograficznej, lub użyć innego miejsca
po prostu zastąp tę linię
bm = BitmapFactory.decodeResource(null, R.id.image);
z
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.YourImageName);
Mam na myśli po prostu zmień wartość null za pomocą getResources () Jeśli używasz tego kodu w dowolnym przycisku lub widoku obrazu, kliknij zdarzenie, po prostu dołącz getApplicationContext () przed getResources () ..
Za pomocą tej funkcji można uzyskać bitmapę obrazu. Po prostu podaj adres URL obrazu
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;
}
}