Перевод из imageView в File

294
29 декабря 2017, 00:27

Пытаюсь отправить изображение в android. В java делаю так.

BufferedImage bi; // в этой переменной у меня уже есть изображение
File tempFile = File.createTempFile("mtom", ".png");
  String format =".png";
  ImageIO.write(bi, format, tempFile);
 DataSource source = new FileDataSource(tempFile);
 attachBodyPart.setHeader("Content-ID", "<image>");
 attachBodyPart.setDataHandler(new DataHandler(source));

Как сделать также но с imageView? Если точнее как записать из переменной картинку из image в класс File?

Answer 1

ImageView при выводе изображения выводит его как Bitmap, свойства которого зависят от конкретного девайса - вернее от экрана девайса.

Остается взять Bitmap из кэша и записать его в файл:

imageView.buildDrawingCache();  //удостовериться, что imageView будет записан в кэш
Bitmap bitmap = imageView.getDrawingCache(); //взять битмап из кэша
ByteArrayOutputStream bytes = new ByteArrayOutputStream(); //буфер куда сохраняем битмап
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bytes); //пишем в виде JPEG
file = createTempFile("mtom", ".jpg");
FileOutputStream fo = new FileOutputStream(file);
fo.write(bytes.toByteArray());
fo.close();
READ ALSO
Hadoop (HDFS) - взаимодействие с данными через Java

Hadoop (HDFS) - взаимодействие с данными через Java

Я пытаюсь взаимодействовать с файлами HDFS (читать, создавать и тд

248
hasNextInt() в цикле

hasNextInt() в цикле

Мне нужно защитить приложение от краша в случаи ввода букв в интовом сканнереНо в данном случае, если ввести буквы, оно примет нужное значение,...

249
Как вставить изображение в TextPane

Как вставить изображение в TextPane

У меня есть jTextPane и button, хочу реализовать систему смайликовВообщем когда жмём на кнопку то сразу ставится картинка(смайлик) возле текста

223