0

我一直在尝试创建一个集成了 Adob​​e Creative SDJ 的 android 应用程序,但我遇到了一些问题。

我创建了一个活动,其中启动相机或画廊以选择图像进行编辑。相机启动,照片被捕获并保存在此路径中:

storage/emulated/0/Pictures/myAppName/myImage.jpg

它也应该显示在ImageView同一活动中,但没有显示。在另一个活动中,我集成了 Adob​​e 的创意 sdk 的 ImageEditing UI,它需要一个imageUri作为输入图像。

这是我在中显示图像的代码ImageView

@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
        // camera codes 
        String path = "storage/emulated/0/Pictures/Touch/touch.jpg";
        resultImageView.setImageDrawable(Drawable.createFromPath(path));

        // gallery codes
        if (resultCode == RESULT_OK && requestCode == PICK_IMAGE){
            imageUri = data.getData();
            resultImageView.setImageURI(imageUri);
        }
    }

如何将其转换ImageView为 Uri 并将其发送到下一个活动?提前致谢!

4

1 回答 1

0

我认为您对相机代码做错了。正如您所说,您的画廊代码运行良好。试试这个:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    try{
        if (resultCode == Activity.RESULT_OK) {
            if (requestCode == 0) {
                //taking clicked image from Intent of activity
                Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
                ByteArrayOutputStream bytes = new ByteArrayOutputStream();

                File destination = new File(Environment.getExternalStorageDirectory(),
                        System.currentTimeMillis() + ".jpg");//storing image 

                FileOutputStream fo;
                try {
                    destination.createNewFile();
                    fo = new FileOutputStream(destination);
                    fo.write(bytes.toByteArray());
                    fo.close();
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
 //adding clicked image to ImageView
 imgClicked.setImageBitmap(thumbnail);

希望对你有帮助..:-)

于 2016-06-09T08:25:42.280 回答