2015-05-30 2 views
1

Я хочу показать Миниатюры для изображений, представленных на устройстве, в GridView и я использую метод getThumbnail для получения эскизов. Но по какой-то причине, когда я вернул эскизы в ImageViews в gridview, они не понятны (размыты). Например, если есть текст в изображении, тогда я не могу прочитать этот текст в своем приложении, тогда как я могу его прочитать в приложении для родной андроидской галереи. Надеюсь, это дает представление о моей проблеме. Я думаю, вероятно, потому, что размер изображения больше размера изображения.getThumbnail метод, возвращающий размытые миниатюры?

Я пытался использовать такие методы, как extractThumbnail в сочетании с BitmapFactory.Options inSampleSize но иногда генерировать OutOfMemoryException.

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

ответ

0

Если я правильно помню, getThumbnail вернет масштабированное изображение. Если вы затем масштабируете это изображение, чтобы оно соответствовало вашему GridView, это объясняло бы размытость.

Вы можете попробовать масштабировать изображения до нужного размера самостоятельно, а затем отобразить их в GridView.

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

+0

@ BeagleBreath-Спасибо за ответ. Да, getThumbnail возвращает масштабированное растровое изображение, и это зависит от типа эскиза, который вы запрашиваете (MINI_KIND, MICRO_KIND), и в настоящее время я запрашиваю MINI_KIND, который равен 512 x 384, как упоминалось на сайте разработчиков. И не могли бы вы рассказать о своем втором заявлении о том, как я могу попытаться масштабировать изображения, чтобы исправить размер? Кроме того, я пытался использовать UIL и Picasso, но я получаю тот же результат. –