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

Форум PHP

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

 

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

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

тема: Превьюшки одного размера

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

 
 автор: mihdan   (31.08.2008 в 18:47)   письмо автору
 
   для: sl1p   (31.08.2008 в 11:00)
 

Заходите на сайт http://ru.php.net почаще, меньше вопросов буит и скачайте себе документацию

  Ответить  
 
 автор: mihdan   (31.08.2008 в 18:45)   письмо автору
 
   для: sim5   (31.08.2008 в 18:16)
 

Небольшое дополнение ответа sim5:


<?php
imagepng
($resource$filename$quality);

// $quality - коэффициент сжатия от 0 до 9
?>


http://ru.php.net/manual/ru/function.imagepng.php

  Ответить  
 
 автор: sim5   (31.08.2008 в 18:16)   письмо автору
 
   для: SS   (31.08.2008 в 18:01)
 

1. В функции уменьшения изображения определять тип изображения, которое нужно уменьшить. В зависимости от типа открывать и создавать соответсвуюший тип файла.
2. А вы хотите, сильно уменьшив изображение, не потерять в качестве? Для JPG изображения можно указывать третим параметром качество 100% (по умолчанию оно равно 75%):
imagejpeg($im, '', 100);

  Ответить  
 
 автор: SS   (31.08.2008 в 18:01)   письмо автору
 
   для: sim5   (31.08.2008 в 16:33)
 

Еще возникло два небольших вопроса:
1. Не обрабатывается gif.
2. Как выводить превьюшки с максимальным качеством? а то картинки после обработки заметно теряют в качестве.

  Ответить  
 
 автор: SS   (31.08.2008 в 16:51)   письмо автору
 
   для: sim5   (31.08.2008 в 16:33)
 

Все, победа! Спасибо! :))))

  Ответить  
 
 автор: sim5   (31.08.2008 в 16:33)   письмо автору
 
   для: SS   (31.08.2008 в 16:19)
 

Вы можете параметру запроса передавать как имя файла, так и ваш полный путь к нему. Например, назовем файл скрипта, который будет уменьшать изображение, как img_small.php и поместим в него функцию уменьшения изображения:
<?
function resizeImage($f$w$h) {
  
$im imagecreatetruecolor($w,$h);
  
imagefill($im000x0);
  
$pic imagecreatefromjpeg($f);
  
$x $y 0;
  
$wr $w$hr $h;
  
$ws imagesx($pic);
  
$hs imagesy($pic);
  if (
$ws/$hs 1) {
    
$wr round(($ws * ($h/$hs)*100)/100);
    
$x = ($w-$wr)>>1;
  } else {
    
$hr round(($hs * ($w/$ws)*100)/100);
    
$y = ($h-$hr)>>1;
  }
  
imagecopyresampled($im$pic$x$y00$wr$hr$ws$hs);
  
header("Content-type: image/jpeg");
  
imagejpeg($im);
  
imagedestroy($im);
  
imagedestroy($pic);
}
//здесь если передаем только имя, то добавляем путь к нему
//иначе предаем полученный параметр
resizeImage($_GET['im'], 6080);
?>

В файле, в котором получаете из базы имена файлов, можете обрезать путь, получая только имя файла, либо весь полный путь:
<?
//только имя
echo "<img src=\"img_small.php?im=" .basename($img['img0']). "\" />";
//полный путь
echo "<img src=\"img_small.php?im=" .$img['img0']. "\" />";
//наличие файла желательно проверять, 
//чтобы не получать багов при выводе

В чем проблема?

  Ответить  
 
 автор: SS   (31.08.2008 в 16:19)   письмо автору
 
   для: sim5   (31.08.2008 в 16:03)
 

И куда это подставлять? Моя задача — вывести в цикле превьюшки одного размера. Пока что не получилось. Примеры моего запроса и вывода на экран я привел. Если не трудно, просто поправьте в моем коде, как это сделать и как это вывести, а то уже целый день переписываемся, а воз и ныне там. Еще раз прошу прощения за непонятливость и назойливость, но очень надо. :)

  Ответить  
 
 автор: sim5   (31.08.2008 в 16:03)   письмо автору
 
   для: SS   (31.08.2008 в 15:55)
 

<?
$url 
"http://site.ru/art/p0055-0.jpg";
$file basename($url);
echo 
$file;
?>

  Ответить  
 
 автор: SS   (31.08.2008 в 15:55)   письмо автору
 
   для: sim5   (31.08.2008 в 14:26)
 

Пожалуйста, приведите пример кода с полным путем, а то у меня никак не получается, уже пар идет.

  Ответить  
 
 автор: sim5   (31.08.2008 в 14:26)   письмо автору
 
   для: SS   (31.08.2008 в 14:00)
 

Ну берите полный путь, либо вырезайте имя из этого пути. Кстати, с помощью того же РНР, не так сложно модифицировать записи в базе, оставив только имена файлов, а пути, если они необходими, занести в файл конфигурации. Так, что руками не так много придется делать.

  Ответить  

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

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

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