Как сохранить скриншоты Android в формате .jpg?

Я использую ExifInterface для сохранения информации для описания изображения. Но поскольку скриншоты сохраняются .png, а ExifInterface не работает с .png, я не могу сохранить описание изображения для скриншотов.

У меня есть два варианта:

  1. Каждый раз, когда мне нужно сохранить описание изображения EXIF, мне нужно сначала преобразовать снимки экрана в формат .jpg, а затем отредактировать его данные EXIF.
  2. Или я могу просто настроить телефон на сохранение всех снимков экрана в виде файлов .jpg. Поэтому всякий раз, когда я сохраняю снимок экрана (нажав клавишу уменьшения громкости + кнопку питания), снимок экрана сохраняется сразу же, а затем как .jpg. Нет проблем, пытаясь преобразовать его позже.

И вопрос?

greenapps 31.07.2018 18:21
Or I can just set the phone to save all screenshots as .jpg files. ?? Ты можешь? Как? А при чем тут программирование?
greenapps 31.07.2018 18:25

Вы пробовали предоставленный ответ?

olajide 31.07.2018 19:08
0
3
1 021
1

Ответы 1

Вы можете воспользоваться кешем чертежей View.

myView.setDrawingCacheEnabled(true);
Bitmap b = view.getDrawingCache();
b.compress(CompressFormat.JPEG, 95, new FileOutputStream("/some/location/image.jpg"))

Где view - ваш View. 95 - это качество сжатия JPG. И поток вывода файла - это именно то, что вам нужно.

Это работает, только если я делаю снимки экрана своего приложения. Что делать, если мне нужно сделать снимок экрана приложения, которое я не могу контролировать?

joe doe 01.08.2018 19:18

Вы создаете приложение для захвата экрана. Используйте широковещательную службу, чтобы зафиксировать такое событие и вернуть его как намерение в ваше приложение.

olajide 01.08.2018 19:45
play.google.com/store/apps/… Я видел это приложение, которое делает снимок экрана с помощью прозрачной кнопки, которую можно перетаскивать. Могу ли я настроить физические кнопки для создания снимков экрана?
most venerable sir 01.08.2018 20:43

Прозрачная кнопка - это виджет. Вы можете создать виджет и позволить BroadcastService обрабатывать событие, которое требуется вашему приложению.

olajide 01.08.2018 20:56

Не могли бы вы найти какой-нибудь учебник по созданию полноценного приложения для захвата экрана? Большинство руководств посвящено созданию снимков экрана собственного приложения. Спасибо за помощь.

joe doe 02.08.2018 15:04

Это другой вопрос, и не для поля для комментариев. Вы можете просто задать новый вопрос еще раз. Имейте в виду, что в соответствии с вашим вопросом я дал правильный ответ. Вы можете просто пометить его как ответ, чтобы помочь другим найти похожие решения.

olajide 03.08.2018 00:56

Другие вопросы по теме