在xml视图下共享照片

时间:2014-06-25 10:30:48

标签: android

我想分享一张位于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" />

1 个答案:

答案 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权限。