80,354
社区成员
发帖
与我相关
我的任务
分享
public static Bitmap getBitmapByUrl(HttpGet httpGet,String strurl, int displayWidth,
int displayHeight) throws IOException, URISyntaxException {
URL url = new URL(strurl);
getHttpClient();
httpGet.setURI(new URI(strurl));
HttpResponse response = httpClient.execute(httpGet);
InputStream ins=null;
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
ins=response.getEntity().getContent();
}
else
return null;
//url.openConnection().setDefaultUseCaches(true);
Options options = new Options();
options.inJustDecodeBounds = true;
Bitmap bitmap = BitmapFactory.decodeStream(ins, null, options);
int srcWidth = options.outWidth;
ins.close();
ins = null;
options.inJustDecodeBounds = false;
Log.d("Tag", "with:" + options.outWidth);
// int be = (int) (((double) options.outWidth) / ((double)
// displayWidth));
int be = 0;
be = (int) Math.round(((((double) srcWidth) / ((double) displayWidth))));
options = new Options();
options.inSampleSize = be;
//ins = url.openStream();
response = httpClient.execute(httpGet);
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
ins=response.getEntity().getContent();
}
bitmap = BitmapFactory.decodeStream(ins, null, options);
ins.close();
return bitmap;
}
BitmapFactory.Options options = new BitmapFactory.Options();
//options.inSampleSize = 3;
options.outHeight = 200;
options.inJustDecodeBounds = true;
//options.
if (position < 0) {
position = position + mImageDirs.size();
}
// 获取这个图片的宽和高
Bitmap bm = BitmapFactory.decodeFile(this.mImageDirs
.get(position % mImageDirs.size()), options); //此时返回bm为空
options.inJustDecodeBounds = false;
int be = options.outHeight / 20;
if(be%10 !=0)
be+=10;
be=be/10;
if (be <= 0)
be = 1;
options.inSampleSize = be;
bm = BitmapFactory.decodeFile(this.mImageDirs.get(position
% mImageDirs.size()), options);