Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Скрипт, изменения размера картинки (https://javascript.ru/forum/dom-window/2011-skript-izmeneniya-razmera-kartinki.html)

soniclord 21.10.2008 05:59

Скрипт, изменения размера картинки
 
Здравствуйте!
Помогите пожалуйста реализовать скрипт который в зависимости от размера слоя, на котором находится картинка, изменяла бы размер картинки. Размер слоя изменяется тоже с помощью скрипта, так что переменные высоты имеются.
Спасибо.

Zibba 21.10.2008 09:18

Думаю данная ссылка сможет Вам помочь http://habrahabr.ru/blogs/javascript/26888/

soniclord 21.10.2008 09:31

Вы меня не поняли. Картинка находится в слое, который уменьшается в зависимости от размера экрана браузера. Мне необходимо просто взять переменные из того слоя (он написан на javascript) и вставить в картинку, чтобы она тоже уменьшалась или увеличивалась параллельно.

вот код:

<script language="JavaScript"> 
<!-- 
w=document.body.clientHeight-220;
d=document.getElementById('res');
d.style.height=w;
if (w >=550) { document.write('<img src="images/3.jpg">'); } 
else if ((w < 550)&&(w>=441)) { document.write('<img src="images/2.jpg">'); } 
else if ((w>=353)&&(w<441)) { document.write('<img src="images/1.jpg">'); } 
else if ((w>=334)&&(w<353)) { document.write('<img src="images/5.jpg">'); }
else if ((w>=265)&&(w<334)) { document.write('<img src="images/4.jpg">'); } 
//--> 
</script>


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

Kolyaj 21.10.2008 10:27

Ну во-первых, для этого есть CSS (width: 100%, например), во-вторых, если вы будете растягивать картинку, она стремной получится.

alt5000 27.10.2008 15:56

Можно через функции PHP менять размер оригинала каждый раз :). А отображение в браузере через HTML/JS действительно сделает ваше изображение... несколько... несколько иным, скажем так :) Да и загрузка большого изображения будет занимать больше времени, если Вам надо, скажем показать превью огромного плаката... лучше обработайте данные о разрешении экрана и сформируйте копию картинки, которую потом и отправите клиенту, а саму картинку удалите с сервера...

Kolyaj 27.10.2008 16:44

Если изменять размеры с помощью PHP, она получится такой же стремной, как и с помощью браузера.

alt5000 27.10.2008 17:11

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

P.S.: Не думаю, что изображение, обработанное PHP и просто "зажатое" в размерах HTML будут выглядеть одинаково. Больше искажений проявятся при втором способе. Особенно если пиксельная пропорция не 1:1.

Zibba 27.10.2008 22:44

Ну в том примере который я кинул изображение оставляет довольно таки приемлемое качество после обработки JS скриптом. (да и пища для размышления тоже не плохая)

Kolyaj 27.10.2008 23:32

Zibba,
ага, вот только пример абсолютно не в тему.

alt5000 28.10.2008 10:47

Цитата:

Сообщение от Kolyaj (Сообщение 7659)
Zibba,
ага, вот только пример абсолютно не в тему.

Ну, почему же, совсем не в тему. Оттуда ведь тоже можно выдернуть какие-то фрагменты для ресайза. Код не смотрел, но думаю, по общему уровню исполнения, думаю, что там есть чему поучиться... Какие-то идеи, которые можно "благополучно позаимствовать" :)


Часовой пояс GMT +3, время: 22:31.