Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: размер картинки
 
 автор: AlexSol   (11.05.2006 в 11:55)   письмо автору
 
 

картинка выводится <img src="..." width="126" height="103">

нужно: ставить не фиксированные размеры, а скриптом получать значения реальные и масштабировать по нужным размерам. так вот, масштабирование сделаю, но вот как привязать код? и где лучше делать вычисления - у клиента или на сервере?

   
 
 автор: Бог Зайцев   (11.05.2006 в 12:26)   письмо автору
 
   для: 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 = "*">, а потом уже меняем размеры, либо загружаем две картинки, одну с проставленную размерами, вторую прячем :)

   
 
 автор: AlexSol   (11.05.2006 в 12:32)   письмо автору
 
   для: Бог Зайцев   (11.05.2006 в 12:26)
 

дополняю и поясняю: сейчас картинки выводятся в цикле (их очень много), но в последнее время их размер начал плясать (т.е. теперь их нужно масштабировать)

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

   
 
 автор: Бог Зайцев   (11.05.2006 в 12:41)   письмо автору
 
   для: AlexSol   (11.05.2006 в 12:32)
 

Идеально - на сервере :)

   
 
 автор: 12345   (11.05.2006 в 14:04)   письмо автору
 
   для: Бог Зайцев   (11.05.2006 в 12:41)
 

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

С другой стороны, совершенно необязательно знание размеров: установка одной из ширин приводит к пропорциональной подгонке другой автоматически. Так что ставьте ширину, а если высота будет больше (по onload картинки + небольшая задержка в 100-500 мс), отменяете шширину, фиксируете высоту. Должно работать.

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

   
 
 автор: AlexSol   (11.05.2006 в 14:10)   письмо автору
 
   для: 12345   (11.05.2006 в 14:04)
 

спасибо, так и сделал - оставил только высоту. пока хватает, что будет дальше, посмотрим.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования