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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Подскажите по обработке изображений

Сообщения:  [1-10]   [11-11] 

 
 автор: Nekifrovv   (28.03.2010 в 15:13)   письмо автору
 
   для: sim5   (28.03.2010 в 14:30)
 

Спасибо.

  Ответить  
 
 автор: sim5   (28.03.2010 в 14:30)   письмо автору
 
   для: Nekifrovv   (28.03.2010 в 14:28)
 

<img src="filenamescript.php" />
Примеров тут столько, что уже писать просто не охота, поищите в разделе.
Собственно я и так вам уже все написал как.

  Ответить  
 
 автор: Nekifrovv   (28.03.2010 в 14:28)   письмо автору
 
   для: sim5   (28.03.2010 в 14:22)
 

А можно на примере? А вызвать тогда функцию как??

  Ответить  
 
 автор: Nekifrovv   (28.03.2010 в 14:23)   письмо автору
 
   для: Николай2357   (28.03.2010 в 14:12)
 

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

  Ответить  
 
 автор: sim5   (28.03.2010 в 14:22)   письмо автору
 
   для: Nekifrovv   (28.03.2010 в 14:04)
 

Можно.
echo '<img src="mini_'.resize('http://www.webnotes.com.ua/demo/img-resize/test.jpg',200).'" />';
imagejpeg($thumb, $pref.$imgname); и другие, а передаем заголовок и выводим изображение в браузер:
imagejpeg($thumb,null,требуемое сжатие);
а src изображения должен обращаться к этому скрипту.

  Ответить  
 
 автор: Николай2357   (28.03.2010 в 14:12)   письмо автору
 
   для: Nekifrovv   (28.03.2010 в 14:04)
 

Если из любого (то есть не квадратного) сделать "сжатое изображение 150х150", то получится "сплюснутое". )
Можно только середину вырезать.

  Ответить  
 
 автор: Nekifrovv   (28.03.2010 в 14:04)   письмо автору
 
   для: sim5   (28.03.2010 в 13:02)
 

Спасибо конечно, но половина того что вы написали вообще ник чему.


Есть код:

<?php
function resize ($filename$size)
{
$pref 'mini_';
$img strtolower(strrchr(basename($filename), "."));
$imgname basename($filename);
$formats = array('.jpg''.gif''.png''.bmp');
if (
in_array($img$formats))
{
list(
$width$height) = getimagesize($filename);
$new_height $height $size;
$new_width $new_height $width;
$thumb imagecreatetruecolor($size$new_width);
switch (
$img)
{
case 
'.jpg'$source = @imagecreatefromjpeg($filename); break;
case 
'.gif'$source = @imagecreatefromgif($filename); break;
case 
'.png'$source = @imagecreatefrompng($filename); break;
case 
'.bmp'$source = @imagecreatefromwbmp($filename); break;
}
imagecopyresized($thumb$source0000$size$new_width$width$height);
switch (
$img)
{
case 
'.jpg'imagejpeg($thumb$pref.$imgname); break;
case 
'.gif'imagegif($thumb$pref.$imgname); break;
case 
'.png'imagepng($thumb$pref.$imgname); break;
case 
'.bmp'imagewbmp($thumb$pref.$imgname); break;
}
}
else return 
'Error';
@
imagedestroy($thumb);
@
imagedestroy($source);
return 
$imgname;
}
echo 
'<img src="mini_'.resize('http://www.webnotes.com.ua/demo/img-resize/test.jpg',200).'" />';
?>


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

Ключевые моменты: только отображалось, не сохранялось на сервере.

Спасибо.

  Ответить  
 
 автор: sim5   (28.03.2010 в 13:02)   письмо автору
 
   для: Nekifrovv   (28.03.2010 в 12:49)
 

Что как? Вы можете указать в теге для большого изображения размеры в процентах, можете задать непосредственно в пикселях меньшие. Но вес картинки от этого не уменшится.
Если ваше "как", как лучше значит, то:
во-первых какими товарами надо торговать, чтобы потребовалось изображение весом в 1 МБ.
во-вторых, большое изображение и необязательно нужно для всех товаров, а значит такое можно показывать в окне "Увеличить".
Самое большое, на мой взгляд, изображние, это максимум 500-600 рх по ширине, а это никак не 1 МБ. Какие чаще всего изображения товаров будут запрашиваться? Конечно самые малые при выводе списка товаров на страницу. Значит, при загрузке описания товара и его изображения, уменьшаем исходное (если надо) до 500-600 рх по ширине, и готовим самое малое 50 рх по ширине. Эти изображения и кладем на сервер. А вот изображение среднего размера (150), надо полагать для страницы подробного описания товаров, а это всего один запрос, и не так часто, следовательно такое изображение можно приготовить на лету, при запросе страницы.
Все это делается с помощью GD.

  Ответить  
 
 автор: Nekifrovv   (28.03.2010 в 12:49)   письмо автору
 
   для: sim5   (28.03.2010 в 05:15)
 

Узнал что можно, теперь весь вопрос в том как

  Ответить  
 
 автор: sim5   (28.03.2010 в 05:15)   письмо автору
 
   для: Nekifrovv   (27.03.2010 в 23:32)
 

Показать с меньшими размерами конечно можно, но вот уменьшить таким образом вес нельзя.

  Ответить  

Сообщения:  [1-10]   [11-11] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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