我一直在尝试使用Adobe creative SDJ的集成创建一个Android应用程序,但我遇到了一些问题。
我创建了一个活动,其中一个启动相机或图库来选择图像进行编辑。相机启动并拍摄照片并保存在此路径中:
storage/emulated/0/Pictures/myAppName/myImage.jpg
它也应该在同一活动的ImageView
中显示,但不会显示。在另一项活动中,我整合了Adobe创意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并将其发送到下一个活动?提前谢谢!
答案 0 :(得分: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);
希望这会对你有所帮助..: - )