|
|
|
| картинка выводится <img src="..." width="126" height="103">
нужно: ставить не фиксированные размеры, а скриптом получать значения реальные и масштабировать по нужным размерам. так вот, масштабирование сделаю, но вот как привязать код? и где лучше делать вычисления - у клиента или на сервере? | |
|
|
|
|
|
|
|
для: AlexSol
(11.05.2006 в 11:55)
| | Либо мучаем картинку до загрузки:
<script>
function ve()
{
alert('Картинка загрузилась =) "' + this.src + '" ширина картинки "' + this.width + '" высота картинки "' + this.height + '" ' )
}
function neok()
{
alert('Картинки нет на сервере ))) ' + this.src)
}
var t = new Image();
t.onload = ve;
t.onerror = neok;
t.src = 'file.jpg';
</script>
|
Либо загружаем просто <img src = "*">, а потом уже меняем размеры, либо загружаем две картинки, одну с проставленную размерами, вторую прячем :) | |
|
|
|
|
|
|
|
для: Бог Зайцев
(11.05.2006 в 12:26)
| | дополняю и поясняю: сейчас картинки выводятся в цикле (их очень много), но в последнее время их размер начал плясать (т.е. теперь их нужно масштабировать)
проверка такая: если ширина или высота больше чем надо, то уменьшать их пропорционально, пока один из параметров не станет равен нужному, а второй меньше. вопрос где делать такую проверку и на какое событие ее привентить? | |
|
|
|
|
|
|
|
для: AlexSol
(11.05.2006 в 12:32)
| | Идеально - на сервере :) | |
|
|
|
|
|
|
|
для: Бог Зайцев
(11.05.2006 в 12:41)
| | Лучше, конечно, на сервере, потому что на клиенте сложнее процедура - сначала установить где-то невидимой, измерить размеры, когда загрузится, не раньше, потом сгенерировать на нужном месте.
С другой стороны, совершенно необязательно знание размеров: установка одной из ширин приводит к пропорциональной подгонке другой автоматически. Так что ставьте ширину, а если высота будет больше (по onload картинки + небольшая задержка в 100-500 мс), отменяете шширину, фиксируете высоту. Должно работать.
Задачу онлайнового изменения размеров однажды решали здесь на форуме, результатом был этот скрипт: | |
|
|
|
|
|
|
|
для: 12345
(11.05.2006 в 14:04)
| | спасибо, так и сделал - оставил только высоту. пока хватает, что будет дальше, посмотрим. | |
|
|
|