java根据url抓取并生成缩略图
复制代码代码如下:
Bitmap statis publik loadImageFromUrl(String url, int sc) {
URL m;
Aliran Masukan i = nol;
BufferedInputStream bis = null;
ByteArrayOutputStream keluar = null;
byte isBuffer[] = byte baru[1024];
jika (url == nol)
kembalikan nol;
mencoba {
m = URL baru(url);
i = (InputStream) m.getContent();
bis = new BufferedInputStream(i, 1024*4);
keluar = new ByteArrayOutputStream();
int len = 0;
while ((len = bis.read(isBuffer)) != -1) {
keluar.tulis(isBuffer, 0, len);
}
keluar.tutup();
bis.close();
} tangkapan (MalformedURLException e1) {
e1.printStackTrace();
kembalikan nol;
} tangkapan (IOException e) {
e.printStackTrace();
}
jika (keluar == nol)
kembalikan nol;
byte[] data = keluar.toByteArray();
Opsi BitmapFactory.Options = BitmapFactory.Options() baru;
pilihan.inJustDecodeBounds = benar;
BitmapFactory.decodeByteArray(data, 0, data.panjang, opsi);
pilihan.inJustDecodeBounds = false;
int menjadi = (int) (options.outHeight / (float) sc);
jika (menjadi <= 0) {
menjadi = 1;
} lain jika (menjadi > 3) {
menjadi = 3;
}
options.inSampleSize = menjadi;
bitmap bmp = nol;
mencoba {
bmp = BitmapFactory.decodeByteArray(data, 0, data.panjang, opsi); // 返回缩略图
} tangkapan (OutOfMemoryError e) {
// TODO: menangani pengecualian
Sistem.gc();
bmp = nol;
}
kembalikan bmp;
}