Điều này có vẻ đơn giản, tôi đang cố gắng thiết lập một hình ảnh bitmap nhưng từ các tài nguyên, tôi có trong ứng dụng trong thư mục drawable.
bm = BitmapFactory.decodeResource(null, R.id.image);
Điều này có đúng không?
Điều này có vẻ đơn giản, tôi đang cố gắng thiết lập một hình ảnh bitmap nhưng từ các tài nguyên, tôi có trong ứng dụng trong thư mục drawable.
bm = BitmapFactory.decodeResource(null, R.id.image);
Điều này có đúng không?
Câu trả lời:
Giả sử bạn đang gọi nó trong lớp Activity
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.image);
Tham số đầu tiên, Tài nguyên, là bắt buộc. Nó thường có thể đạt được trong bất kỳ Ngữ cảnh nào (và các lớp con như Activity).
Thử cái này
Đây là từ sdcard
ImageView image = (ImageView) findViewById(R.id.test_image);
Bitmap bMap = BitmapFactory.decodeFile("/sdcard/test2.png");
image.setImageBitmap(bMap);
Đây là từ tài nguyên
Bitmap bMap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
Nếu tài nguyên đang hiển thị và là một khung nhìn, bạn cũng có thể chụp nó. Giống như một ảnh chụp màn hình:
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);
Điều này thực sự lấy toàn bộ bố cục nhưng bạn có thể thay đổi như bạn muốn.
Nếu bạn đã khai báo một đối tượng bitmap và bạn muốn hiển thị nó hoặc lưu trữ đối tượng bitmap này. nhưng trước tiên bạn phải gán bất kỳ hình ảnh nào và bạn có thể sử dụng sự kiện nhấn nút, mã này sẽ chỉ trình bày cách lưu trữ hình ảnh có thể vẽ trong Đối tượng bitmap.
Bitmap contact_pic = BitmapFactory.decodeResource(
v.getContext().getResources(),
R.drawable.android_logo
);
Bây giờ bạn có thể sử dụng đối tượng bitmap này, cho dù bạn muốn lưu trữ nó hay sử dụng nó trong google maps trong khi vẽ một bức ảnh trên vĩ độ và kinh độ cố định hoặc sử dụng một số nơi khác
chỉ cần thay thế dòng này
bm = BitmapFactory.decodeResource(null, R.id.image);
với
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.YourImageName);
Ý tôi là chỉ cần thay đổi giá trị null với getResource () Nếu bạn sử dụng mã này trong bất kỳ nút nào hoặc sự kiện nhấp vào xem hình ảnh, chỉ cần nối thêm getApplicationContext () trước getResource () ..
Sử dụng chức năng này, bạn có thể nhận được Bitmap hình ảnh. Chỉ cần vượt qua url hình ảnh
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;
}
}