1、首先你有一个保存的路径 filePath
还有一个现在的链接 url
String filePath="";String url="";
bytes[] b=new bytes[1024];
File file=new File(filePath);
FileOutputStream fs=new FileOutputStream(file);
InputStream in=new URL(url);
while(inread(b)){
fswirte(b);
}
Bitmap bitmap=BitmmapFactorydecodeStream(in);
imageViewsetBitmapResource()
大概就是这样详细的你自己弄吧
String path = cursorgetString(column_index);改为
String path = cursorgetString(column_index-1);试试
以前在实际项目中使用拍照和从图库中获取时,不知道以何种方式从回调中取得资源,以Bitmap方式还是Uri的形式?如果是使用Bitmap,应该注意些什么,Uri又是一种什么样的格式?有时会出现拍照时回调data数据为空的情况,又该如何定位问题呢?裁剪又是怎样决定方案的?以下将针对这几个问题阐述自己的见解。
在Android中,Intent触发 Camera程序,拍好照片后会返回数据,比如摄像头800万像素,拍出来的尺寸为 3200x2400,占据内存大小=3200 x 2400 x 4bytes / (1024 x 1024) = 30MB 图像设置ARGB_8888一个像素点占据4字节内存,这个尺寸对应的 Bitmap会耗光应用程序的内存,出于安全方面的考虑,Android会给你一个缩略图,比如 160 x 120 px。
Q:为何要返回图缩略?
缩略图是指从onActivityForResullt回调方法中 intent保存的参数。这是因为在启动相机程序拍摄,为了让Bitmap数据能在Activity之间传递,不得不将拍摄后的Bitmap进行压缩再传递,因此通过回调从intent中取得的是缩略图在于拍摄的Bitmap太大,Activity之间Bundle存放的数据不能太大,会导致程序无响应。高清原图是指直接将拍摄的以文件/Uri形式保存到手机。
注:Bitmap实现了Parcelable 接口,所有可以在Activity间使用Intent传递。
Q:使用Bitmap需要注意哪些问题?
1、Android 裁剪 Intent 附加数据的含义
| setExtra | DataType | Desciption | Extra |
|:-------- |:--------:| :------: |
|crop| String | Signals the crop feature | value="true" |
|aspectX|int|Aspect Ratio|裁剪横向比例|
|aspectY|int|Aspect Ratio|裁剪纵向比例|
|outputX|int|width od output created from this intent|输出宽度|
|outputY|int|height od output created from this intent|输出高度|
|scale|boolean|should it scale|是否伸缩|
|return-date|boolean|Return the bitmap with Action-inline-data by using the data|是否返回Bitmap数据|
|data|Parcelable|Bitmap to process, you may provide it a bitmap (not tested)|可设置data为Bitmap或者将相应数据同uri联系起来|
|circleCrop|String|if this string is not null, it will provide some cicular cr||
|MediaStore
EXTRA_OUTPUT("output")|URI|set this URI to a File|输出路径到uri中|
2、裁剪终极方案 — 来源有拍照和图库,可采取的 *** 作有:
3、剪切:
第一种方法:
String path = "file:///android_asset/文件名";
第二种方法:
InputStream abpath = getClass()getResourceAsStream("/assets/文件名");
若要想要转换成String类型
String path = new String(InputStreamToByte(abpath ));
private byte[] InputStreamToByte(InputStream is) throws IOException {
ByteArrayOutputStream bytestream = new ByteArrayOutputStream();
int ch;
while ((ch = isread()) != -1) {
bytestreamwrite(ch);
}
byte imgdata[] = bytestreamtoByteArray();
bytestreamclose();
return imgdata;
}
感觉这样应该可以,
先从数据库里面获得
这个的绝对路径
使用UIL类
URL
url=new
URL(file:///路径);
然后得到这个文件的输入流InputStream
in=urlopenStream();
然后得到此的位图Bitmap
bitmap=BitmapFactorydecodeStream(in);
ImageView
img=new
ImageView(this);
imgsetImageBitmap(bitmap);
从网络上的话是这样,但是手机上是不是这样就不清楚了你可以试一下。
那个应该是要放在手机上。
安卓的拍照默认存放都是放在内存卡上的啊!,除非你用的是内置内存
就是DCIM这个文件夹
一般安卓手机的相机功能都会有固定的存放路径,这个位置默认为:/sdcard/DCIM/100Andro或者/sdcard/DCIM/Camera,这里的sdcard是指手机中的
,在电脑中显示的为可移动磁盘。根据不同品牌安卓手机的后期开发,文件夹名称可能不太一样,但一般是在DCIM目录文件夹里边 迁移至SD卡的方法
1、打开我的文件-选择需要移动的文件夹-长按住不松手-移动至-外置SD卡中。
2、如果是照相机/摄像机拍摄的/视频,可提前设置存储路径为SD卡,打开照相机/摄像机-设置-存储卡。
3、如果是手机下载文件,建议您在浏览器中更改存储路径:互联网-菜单键-设定-高级设定-默认存储器-存储卡。
以上就是关于android开发如何执行下载图片到指定目录里,然后通过imageview去读取该图片。全部的内容,包括:android开发如何执行下载图片到指定目录里,然后通过imageview去读取该图片。、安卓开发 获得图片路径失败、Android拍照、从图库导入以及图片裁剪等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)