package com.image.com;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
public class MainActivity extends Activity {
// 远程服务器地址下载
private String mString = "http://img.ivsky.com/img/bizhi/img/201106/13/hanguo_fengjing-011.jpg";
// private String mString = "http://localhost:8080/Web_test/pic.png";
// 本地服务器地址下载(此地址需先在本地创建Tomcat服务器)
// private String mString = "http://10.0.2.2:8080/WebServer/123.jpg";
private Button mButton;
private TextView mTextView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mButton = (Button) findViewById(R.id.but);
mButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// 第一种方法获得图片
// GetImage();
// 第二种方法获得图片
Bitmap bit = getBitmapFormURL(mString);
ImageView iv = (ImageView) findViewById(R.id.image);
Bitmap bit2 = scaleImg(bit, 100, 100);
iv.setImageBitmap(bit2);
System.out.println(bit + "----------");
System.out.println(bit2 + "----------");
mTextView = (TextView) findViewById(R.id.text);
mTextView.setText("您获取图片的地址是:" + mString);
mButton.setText("点击退出");
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
});
}
public static Bitmap scaleImg(Bitmap bm, int newWidth, int newHeight) {
// 获得图片的宽高
int width = bm.getWidth();
int height = bm.getHeight();
// 设置想要的大小
int newWidth1 = newWidth;
int newHeight1 = newHeight;
// 计算缩放比例
float scaleWidth = ((float) newWidth1) / width;
float scaleHeight = ((float) newHeight1) / height;
// 取得想要缩放的matrix参数
Matrix matrix = new Matrix();
matrix.postScale(scaleWidth, scaleHeight);
// 得到新的图片
Bitmap newbm = Bitmap.createBitmap(bm, 0, 0, width, height, matrix,
true);
return newbm;
}
public void GetImage() {
try {
URL url = new URL(mString);
InputStream is = url.openStream();
Bitmap bitmap = BitmapFactory.decodeStream(is);
ImageView iv = (ImageView) findViewById(R.id.image);
iv.setImageBitmap(bitmap);
iv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ImageView iv = (ImageView) findViewById(R.id.image);
iv.setVisibility(View.GONE);
}
});
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 第二种方法获得图片
public static Bitmap getBitmapFormURL(String strURL) {
Bitmap bm = null;
try {
URL url = new URL(strURL);
URLConnection con = url.openConnection();
bm = BitmapFactory.decodeStream(con.getInputStream());
// 待处理缩放
Bitmap resizeBmp = null;
BitmapFactory.Options opt = new BitmapFactory.Options();
} catch (Exception e) {
}
return bm;
}
public static Bitmap fitSizePic(File f) {
Bitmap resizeBmp = null;
BitmapFactory.Options opts = new BitmapFactory.Options();
// 数字越大读出的图片占用的heap越小 不然会溢出内存
if (f.length() < 51200) { // 20-50k
opts.inSampleSize = 1;
} else if (f.length() < 307200) { // 50-300k
opts.inSampleSize = 2;
} else if (f.length() < 819200) { // 300-800k
opts.inSampleSize = 4;
} else if (f.length() < 1048576) { // 800-1024k
opts.inSampleSize = 6;
} else {
opts.inSampleSize = 8;
}
resizeBmp = BitmapFactory.decodeFile(f.getPath(), opts);
return resizeBmp;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论















收起资源包目录


















































共 26 条
- 1
资源评论

- kuang大神2014-09-02图片是读到了,但想把它存在内存卡上,还需要将Canvas中的内容保存为图片,并加入读写权限。
- 罗曼蒂克01232012-09-03有的可以下,有的就不能下,不知道为什么,我在baidu上搜索的图片,比如有林心如的就不能down下来,总的还是不错的,难怪要10分
- lostinai2012-06-20无法下载图片
- 垚淼2012-03-26图片是读到了,但想把它存在内存卡上,还需要将Canvas中的内容保存为图片,并加入读写权限。

CapRobin
- 粉丝: 15
- 资源: 10
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制
