2013-05-19 6 views
3

Я использую библиотеку Universal Image Loader для загрузки изображений из Интернета.Получить ширину и высоту изображения перед их загрузкой

Возможно ли получить размер изображения до его загрузки, чтобы установить мои макетные коляски в нужные значения?

Нечто вроде inJustDecodeBounds недвижимость, любые идеи?

+0

Предполагаете ли вы, что хотите получить размеры изображения до того, как они загрузятся? – angelsl

+0

@angelsl Да, но это не предложение, это вопрос! – iSun

+0

Как вы намереваетесь это сделать? Я просто просматривал библиотеку, и я не думаю, что он поддерживает разбор заголовка изображения, прежде чем он будет полностью загружен, чтобы получить размеры. – angelsl

ответ

3

Цитируя документации @https://github.com/nostra13/Android-Universal-Image-Loader

Как УИЛ определить размер растрового изображения, необходимое для точного ImageView? Он ищет определенные параметры?

  1. Получить фактическую измеренную ширину и высоту ImageView.

  2. Получить андроид: layout_width и android: параметры layout_height.

  3. Получить андроид: maxWidth и/или андроид: параметры maxHeight.

  4. Получить максимальную ширину и/или параметры высоты из конфигурации (опция memoryCacheExtraOptions (int, int)).

  5. Получить ширину и/или высоту экрана устройства.

Так что попробуйте установить андроид: layout_width | андроида: layout_height или андроид: MaxWidth | андроида: параметры MaxHeight для ImageView, если вы знаете, приблизительный максимальный размер его. Это поможет правильно вычислить размер растрового изображения, необходимый для этого представления, и сохранить память.

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

0

Если изображения поступают из места, что вы контролируете, почему нет файла XML с каждого изображения имя файла или уникальный идентификатор, как:

<?xml version="1.0"> 
<images> 
    <image filename="image01.png"> 
     <attrs width="400" height="500"/> 
    </image> 
    <image filename="image02.png"> 
     <attrs width="700" height="450"/> 
    </image> 
</images> 

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

Примечание: Ответ основан на предположении, что это ваши изображения, как вы сказали «мои изображения».

1

Поток файла изображения в объект BitMap. Затем используйте getHeight и getWidth.

Отрегулируйте вид, затем нарисуйте BitMap.

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