java根据url抓取并生成缩略图的示例
java根据url抓取并生成缩略图
public static Bitmap loadImageFromUrl(String url, int sc) {
URL m;
InputStream i = null;
BufferedInputStream bis = null;
ByteArrayOutputStream out = null;
byte isBuffer[] = new byte[1024];
if (url == null)
return null;
try {
m = new URL(url);
i = (InputStream) m.getContent();
bis = new BufferedInputStream(i, 1024 * 4);
out = new ByteArrayOutputStream();
int len = 0;
while ((len = bis.read(isBuffer)) != -1) {
out.write(isBuffer, 0, len);
}
out.close();
bis.close();
} catch (MalformedURLException e1) {
e1.printStackTrace();
return null;
} catch (IOException e) {
e.printStackTrace();
}
if (out == null)
return null;
byte[] data = out.toByteArray();
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeByteArray(data, 0, data.length, options);
options.inJustDecodeBounds = false;
int be = (int) (options.outHeight / (float) sc);
if (be <= 0) {
be = 1;
} else if (be > 3) {
be = 3;
}
options.inSampleSize = be;
Bitmap bmp = null;
try {
bmp = BitmapFactory.decodeByteArray(data, 0, data.length, options); // 返回缩略图
} catch (OutOfMemoryError e) {
// TODO: handle exception
System.gc();
bmp = null;
}
return bmp;
}
相关文章
springboot post接口接受json时,转换为对象时,属性都为null的解决
这篇文章主要介绍了springboot post接口接受json时,转换为对象时,属性都为null的解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-10-10Spring Boot与RabbitMQ结合实现延迟队列的示例
本篇文章主要介绍了Spring Boot与RabbitMQ结合实现延迟队列的示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-11-11修改Maven settings.xml 后配置未生效的解决
这篇文章主要介绍了修改Maven settings.xml 后配置未生效的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-10-10
最新评论