2013-08-26 11 views
-2

Я хочу знать, можно ли сжимать изображение перед фактической загрузкой. Скажем, изображение на конкретном URL-адресе 500kb большое, но я хочу сжать его до 50kb или 100kb.Сжимать изображение из URL перед загрузкой?

Я спрашиваю, потому что у меня есть GridView в Android, который заполнен ImageViews с определенного URL. И если изображение/с по URL-адресу «большое», загрузка будет очень медленной. Итак, как бороться с этой конкретной проблемой, любая идея? Возможно ли это?

ответ

1

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

Например, имеют foo-highquality.jpg с низким уровнем сжатия (высокое качество) и foo-lowquality.jpg с высокой степенью сжатия (низкое качество). Ваше приложение будет загружать каждый файл в зависимости от его потребности.

Вы не можете создавать сервер, на который вы не способны просто «сжать» его для вас.

+0

Хорошо спасибо за ваш ответ. Я просто хотел узнать, возможно ли это от клиента Android. Кажется, это не без загрузки изображения в первую очередь. Поэтому у меня уже есть свой собственный веб-сервис, который дает мне URLS для загрузки изображений с моего сайта. Так вы говорите мне, что мне нужны два разных вида одной и той же картины. 1 для миниатюры (в gridview - более низкое качество) и во-вторых, (больше), если пользователь выбирает конкретное изображение на gridview, чтобы показать полную картину (highquality)? – rootpanthera

+0

Точно, это, скорее всего, лучшее решение. По крайней мере, это тот, который я бы использовал: сжатие выполняется только один раз, вам не нужны специальные веб-сервисы/скрипты или что-то еще. – DarkDust

+0

Спасибо. Вы помогли много! – rootpanthera

0

По моему мнению, это невозможно, это можно сделать только после того, как вы загрузите файл и сжимаете его. Если вы не знаете, как это сделать, посмотрите на This .И если вы хотите, чтобы загрузить их в низком размере, чем вы должны сжать его на webserver или ваш Ftp Server, который на стороне сервера ...

0

Это похоже, вам нужен специальный веб-сервис (что-то вроде http://makeathumbnail.com/). Возможно, есть что-то, что вам нужно, но более надежно иметь свой собственный веб-сервис для изменения размера. Таким образом, ваше приложение будет загружать небольшие изображения с http://yourImgResizeService.com/?imgToResize=URL вместо больших изображений из URL.

Уверен, что это единственное решение этой проблемы. То есть это невозможно сделать только на стороне клиента.

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