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

Форум PHP

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

 

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

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

тема: Изменение размера картинки на лету
 
 автор: Влада   (10.02.2008 в 06:01)   письмо автору
 
 

Здравствуйте!

Так и не смогла разобраться с ресайзом картинок. Подскажите пожалуйста конкретное решение.

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

$sql ="SELECT * FROM notice";
$result = @mysql_query($sql)
 while ($rown = mysql_fetch_array($result))
      {
          $userfhoto = $rown['userfhoto'];
          echo "<img src=userimg/$userfhoto width=100>";
     }


Как сделать ресайз картинок на лету, без сохранения уменьшенной копии и как сделать масштабирование картинки при выводе так, чтобы из любой картинки вырезался квадрат размером например 100х100px?

Если кто-то покажет как встроить те скрипты, что вы писали в предыдущих темах, буду вам очень признательна. Заранее благодарна за ответ.

   
 
 автор: cheops   (10.02.2008 в 10:23)   письмо автору
 
   для: Влада   (10.02.2008 в 06:01)
 

Возможно вас заинтересует тема по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=5325.

   
 
 автор: Trianon   (10.02.2008 в 11:51)   письмо автору
 
   для: Влада   (10.02.2008 в 06:01)
 

>Как сделать ресайз картинок на лету, без сохранения уменьшенной копии
ресайз на лету без сохранения уменьшенной копии будет весьма серьезно перегружать серверную машину. Операция изменения размера картинки довольно процессор- и память-емкая.
Ресайз средствами клиента (<img src=... width=20% height=20% >)приведет к неоправданному траффику (придется тащить полный размер для каждой превью.)
Лучше сразу писать скрипт, который бы вычислял и сохранял превью на сервере.

   
 
 автор: Даниэль   (07.03.2008 в 18:36)   письмо автору
 
   для: Trianon   (10.02.2008 в 11:51)
 

Вот ресайз картинок на лету:

<?php
$filename 
'img.jpg';
$percent 240// Ширина изображения привью

header('Content-type: image/jpeg');

list(
$width$height) = getimagesize($filename); // Получаем ширину и высоту большого изображения
$newheight $height $percent// Перемножаем
$newwidth $newheight $width// Делим 

$thumb imagecreatetruecolor($percent$newwidth); // Цветное изображение
$source imagecreatefromjpeg($filename); // JPEG

imagecopyresized($thumb$source0000$percent$newwidth$width$height); // Создаем привью в во временный файл
imagejpeg($thumb); 
?> 

   
Rambler's Top100
вверх

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