从 相机 或者相册 获取图片显示在ImageView 上

不错的帖子:

Android自定义Menu,所有功能已经完善
http://www.eoeandroid.com/thread-246336-1-1.html

Android 仿QQ客户端及服务端源码
http://www.eoeandroid.com/thread-246259-1-1.html

[毕业设计源码福利]QQ音乐1.6+android无线点餐系统(4.0调试慎重)
http://www.eoeandroid.com/thread-245953-1-1.html

------------------------帖子正文-----------------------

内容:可以从相机 或者 相册中获取照片 ,然后显示Imageview上

复制代码
// 获得图片的uri
                                        Uri originalUri = data.getData();
                                        // 将图片内容解析成字节数组
                                        mContent = readStream(resolver.openInputStream(Uri
                                                        .parse(originalUri.toString())));
                                        // 将字节数组转换为ImageView可调用的Bitmap对象
                                        myBitmap = getPicFromBytes(mContent, null);
                                        // //把得到的图片绑定在控件上显示
                                        imageView.setImageBitmap(myBitmap);
复制代码

 

复制代码
String sdStatus = Environment.getExternalStorageState();
                                if (!sdStatus.equals(Environment.MEDIA_MOUNTED)) { // 检测sd是否可用
                                        return;
                                }
                                Bundle bundle = data.getExtras();
                                Bitmap bitmap = (Bitmap) bundle.get("data");// 获取相机返回的数据,并转换为Bitmap图片格式
                                FileOutputStream b = null;
                                File file = new File("/sdcard/myImage/");
                                file.mkdirs();// 创建文件夹,名称为myimage
 
                                // 照片的命名,目标文件夹下,以当前时间数字串为名称,即可确保每张照片名称不相同。
                                String str = null;
                                Date date = null;
                                SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");// 获取当前时间,进一步转化为字符串
                                date = new Date();
                                str = format.format(date);
                                String fileName = "/sdcard/myImage/" + str + ".jpg";
                                try {
                                        b = new FileOutputStream(fileName);
                                        bitmap.compress(Bitmap.CompressFormat.JPEG, 100, b);// 把数据写入文件
                                } catch (FileNotFoundException e) {
                                        e.printStackTrace();
                                } finally {
                                        try {
                                                b.flush();
                                                b.close();
                                        } catch (IOException e) {
                                                e.printStackTrace();
                                        }
                                        if (data != null) {
                                                Bitmap cameraBitmap = (Bitmap) data.getExtras().get(
                                                                "data");
                                                System.out.println("fdf================="
                                                                + data.getDataString());
                                                imageView.setImageBitmap(cameraBitmap);
 
                                                System.out.println("成功======" + cameraBitmap.getWidth()
                                                                + cameraBitmap.getHeight());
                                        }
 
                                }
                        }
                }
复制代码

 

 

 

posted on   vus520  阅读(696)  评论(0编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架

导航

< 2013年1月 >
30 31 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 1 2
3 4 5 6 7 8 9
点击右上角即可分享
微信分享提示