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

Форум PHP

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

 

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

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

тема: какой скрипт для увеличевания и уменьшения картинок используют на сайте Озон
 
 автор: cccp   (14.05.2007 в 17:15)   письмо автору
 
 

Добрый день всем.
Кто подскажет какой скрипт используют на сайте Озон для увеличевания и уменьшения картинок.
Я думал что это просто javascript, но меня направили сюда.

Зарание Благодарен.

   
 
 автор: CrazyAngel   (14.05.2007 в 17:20)   письмо автору
 
   для: cccp   (14.05.2007 в 17:15)
 


<?php
<?
// Функция изменения размера изображения
 
function resizeimg($filename$w$h)
  {
    
// определим коэффициент сжатия изображения, которое будем генерить
    
$ratio $w/$h;
    
// получим размеры исходного изображения
    
$size_img getimagesize($filename);
    
// Если размеры меньше, то масштабирования не нужно
    
if (($size_img[0]<$w) && ($size_img[1]<$h)) return true;
    
// получим коэффициент сжатия исходного изображения
    
$src_ratio=$size_img[0]/$size_img[1];

    
// Здесь вычисляем размеры уменьшенной копии, чтобы при масштабировании сохранились 
    // пропорции исходного изображения
    
if ($ratio<$src_ratio)
    {
      
$h $w/$src_ratio;
    }
    else
    {
      
$w $h*$src_ratio;
    }
    
// создадим пустое изображение по заданным размерам 
    
$dest_img imagecreatetruecolor($w$h);  
    
$white imagecolorallocate($dest_img255255255);       
    if (
$size_img[2]==2)  $src_img imagecreatefromjpeg($filename);                      
    else if (
$size_img[2]==1$src_img imagecreatefromgif($filename);                      
    else if (
$size_img[2]==3$src_img imagecreatefrompng($filename); 

    
// масштабируем изображение     функцией imagecopyresampled()
    // $dest_img - уменьшенная копия
    // $src_img - исходной изображение
    // $w - ширина уменьшенной копии
    // $h - высота уменьшенной копии        
    // $size_img[0] - ширина исходного изображения
    // $size_img[1] - высота исходного изображения
    
imagecopyresampled($dest_img$src_img0000$w$h$size_img[0], $size_img[1]);                
    
// сохраняем уменьшенную копию в файл 
    
if ($size_img[2]==2){
        
$smallimage tempnam("/tmp""FOO").".jpg";
        
imagejpeg($dest_img$smallimage);                      
    }
    else if (
$size_img[2]==1){
        
$smallimage tempnam("/tmp""FOO").".gif";
        
imagegif($dest_img$smallimage);                      
    }
    else if (
$size_img[2]==3){
        
$smallimage tempnam("/tmp""FOO").".png";
        
imagepng($dest_img$smallimage); 
    }
    
// чистим память от созданных изображений
    
imagedestroy($dest_img);
    
imagedestroy($src_img);
    return 
$smallimage;         
  }  
?>
?>

   
 
 автор: cccp   (14.05.2007 в 19:58)   письмо автору
 
   для: CrazyAngel   (14.05.2007 в 17:20)
 

Благодарю вас.
Простите, но я не очень разбираюсь в PHP.
А как использовать этот скрипт на несколько картинок на одной и той же страничке?

И ещё...
А как же мне сделать что бы при нажатие на картинку, она увеличиволась до оригинала и наоборот?
Тоесть именно как в Озоне.
Спасибо.

   
 
 автор: CrazyAngel   (15.05.2007 в 07:30)   письмо автору
 
   для: cccp   (14.05.2007 в 19:58)
 

это функция возвращает временный адрес уменьшенной картинки по параметрам, потом ее нужно скопировать куда нужно с помощью copy() ...

а затем просто выводим ее уже по новому адресу

второй вопрос, задайте в разделе javascript, именно с помощью него такого можно добиться

   
 
 автор: Faraon   (14.05.2007 в 17:49)   письмо автору
 
   для: cccp   (14.05.2007 в 17:15)
 

Вообще хочу сказать что ozon.ru написан на asp, а для увеличения картинок насколько мне не изменяют глаза используется как раз Javascript

   
 
 автор: Trianon   (14.05.2007 в 18:00)   письмо автору
 
   для: Faraon   (14.05.2007 в 17:49)
 

Ozon может быть написан на чем угодно, но это вовсе не значит, что процедуру уменьшения картинки можно выполнить лишь теми средствами, с помощью которых реализован ozon. Php для этого вполне пригоден, в отличие от клиентского JS.

Для увеличения же картинок применяется разве что фотограф с фотоаппаратом.

   
 
 автор: mirage   (15.05.2007 в 10:48)   письмо автору
 
   для: cccp   (14.05.2007 в 17:15)
 

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


<a onclick="return swapImages(document.cover,'/multimedia/books_covers/small/1000503452.gif','/multimedia/books_covers/1000503452.jpg',60,200);" href="javascript://"><img name="cover" src="/multimedia/books_covers/small/1000503452.gif" alt="Zамуж за миллионера, или Брак высшего сорта" width="60" border="1" style="margin-right: 5px;"></a>


P.S. эту тему надо перенаправить на на JavaScript, HTML

   
 
 автор: cccp   (16.05.2007 в 12:31)   письмо автору
 
   для: mirage   (15.05.2007 в 10:48)
 

Спасибо.

   
Rambler's Top100
вверх

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