java根据url获取网页缩略图
有人用过这个方法吗Bitmap是什么包中的类?还是java自带的类?为什么我找不到。publicstaticBitmaploadImageFromUrl(Stringur...
有人用过这个方法吗 Bitmap 是什么包中的类? 还是java自带的类? 为什么我找不到。
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;
} 展开
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;
} 展开
4个回答
推荐于2016-08-10
展开全部
代码如下:
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;
}
展开全部
Bitmap是Android的类,可以通过读写流转为BufferedImage
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那是安卓的bitmap
追问
java 没有bitmap类?
追答
java只有Image和BufferedImage你把bitmap改成BufferedImage,自己再做压缩,就可以获取略缩图了啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
找缩略图? 我只知道在URL在WEB里找根路径
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询