我想分享一张位于xml视图的照片,但任何共享互联网都要求将照片保存在存储卡上。我该如何使用那张照片?
这是我的xml:
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/textView1"
android:layout_marginLeft="17dp"
android:text="Button" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/ellyfish" />
答案 0 :(得分:0)
您可以尝试这样的事情:
首先从imageview获取位图:
Bitmap bitmap = ((BitmapDrawable)image.getDrawable()).getBitmap();
使用此位图创建新文件:
public File createImageFromBitmap(Bitmap bitmap) {
File f ;
try {
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
// you can create a new file name "test.jpg" in sdcard folder.
File f = new File(Environment.getExternalStorageDirectory()
+ File.separator + "rwd_temp.jpg");
f.createNewFile();
// write the bytes in file
FileOutputStream fo = new FileOutputStream(f);
fo.write(bytes.toByteArray());
// remember close de FileOutput
fo.close();
} catch (Exception e) {
e.printStackTrace();
return null;
}
return f;
}
我正在做的是从imageview获取位图并将该位图保存在名为rwd_temp.jpg的文件中。获得文件后,您可以将其上传到服务器或共享它。 您将需要WRITE_EXTERNAL_STORAGE权限。