0

Я читаю векторное изображение с XML-ресурса и показываю его в ImageView. Все нормально. Теперь мне нужно передать изображение в намерение с намерением.putExtra. Вопрос: Как преобразовать векторный XML в растровое изображение или получить изображение из ImageView? Я пробовал .getDrawingCache(), .getDrawable, getImageMatrix и т. Д., Но он не работает.Как получить растровое изображение из векторного изображения в XML-ресурсе

Пробовал так:

String path = MediaStore.Images.Media.insertImage(getApplicationContext().getContentResolver(), 
      imgPrevisao.getDrawingCache(), 
      "Minha previsão",null); 

    Intent sharingIntent = new Intent(Intent.ACTION_SEND); 
    sharingIntent.setType("image/*"); 
    sharingIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(path)) ; 
    getApplicationContext().startActivity(Intent.createChooser(sharingIntent, "Share with")); 

И так:

Intent intent = new Intent(Intent.ACTION_SEND); 

    intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); 
    intent.putExtra(Intent.EXTRA_TEXT, textoPrevisao); 
    intent.putExtra(Intent.EXTRA_STREAM, imgPrevisao.getDrawingCache()); 
    intent.setType("image/*"); 
    startActivity(intent); 

ТИА,

Андре Корреа

+0

Нечто подобное должно работать. Довольно стандартная операция для захвата растрового изображения из изображения. – greenapps

+0

Это намерение должно быть обработано в рамках вашего приложения? – j2ko

+0

greenapps, извините, что-то вроде чего? Я новичок в разработке Android. –

ответ

0

Одним из способов является использование MediaStore:

и чем:

public static void shareImageViewContent(ImageView view) { 
    Bitmap bitmap = ((BitmapDrawable)view.getDrawable()).getBitmap(); 
    Intent sharingIntent = new Intent(Intent.ACTION_SEND); 
    sharingIntent.setType("image/jpeg"); 
    sharingIntent.putExtra(Intent.EXTRA_STREAM, getImageUri(bitmap)) ; 
    context.startActivity(Intent.createChooser(sharingIntent, "Share with")); 
} 

Немного более сложное решение заключается в использовании FileProvider Credits: link, link, link

+0

Спасибо, j2ko, я попробую. Мне жаль, что у меня недостаточно репутации, чтобы поддержать ваш ответ. –

+0

@ AndréAranha np, я рад помочь. Но я думаю, вы могли бы отметить мое решение, так как ответ – j2ko

+0

не работает. Я все еще пытаюсь. Я опубликую то, что я пробовал. –

 Смежные вопросы

  • Нет связанных вопросов^_^