edison_cool911 发表于 2013-1-28 18:43:36

使用SD卡上图片资源的ImageView

这个主要是实现Bitmap和Drawable之间的转换以及SD卡路径的获取问题:
package cn.com;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Matrix;import android.os.Bundle;import android.os.Environment;import android.widget.ImageView;public class UserSdCardImage extends Activity {/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);ImageView iv = (ImageView) findViewById(R.id.image);showpic(iv);}private void showpic(ImageView iv) {File sdcardDir = Environment.getExternalStorageDirectory();String path = sdcardDir.getParent() + sdcardDir.getName();System.out.println("________________________" + path);File pic = new File(path + java.io.File.separator + "88.jpg");FileInputStream is = null;try {is = new FileInputStream(pic);Bitmap bm = BitmapFactory.decodeStream(is, null, null);int w = bm.getWidth();int h = bm.getHeight();double s = 0.6;float sw = 1, sh = 1;sw = (float) (sw * s);sh = (float) (sh * s);Matrix mx = new Matrix();mx.postScale(sw, sh);Bitmap rp = Bitmap.createBitmap(bm, 0, 0, w, h, mx, true);iv.setImageBitmap(rp);} catch (FileNotFoundException e) {e.printStackTrace();}}}
页: [1]
查看完整版本: 使用SD卡上图片资源的ImageView