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

Форум PHP

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

 

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

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

тема: Проблема с обработкой рисунков через gd-библиотеку........ не правильно строятся превьюшки картинок
 
 автор: Serafim   (18.12.2006 в 08:27)   письмо автору
 
 

Вообщем сама проблема тут: http://game.ufanet.ru/serafim/index.php?topic=game&theme=cssource&post=cssscrn
как видите превьюшки являются миру в жутко искаженном качестве..... причины этого мне не известы...
в папка где находятся скриншоты лежат файлы в формате JPG (разрешение 800х600 или 640х480), при заходе на выше описанную страницу скрипт начинает генерировать маленькие копии картинок (т.е. из картинок 800x600 получаются 110x88), суть скрипта в том, что он сканирует заданую директорию на наличие графических файлов.... далее каждый найденый файл обрабатывается через функцию imagecopyresized (пробывал использовать imagecopyresampled , но существенных изменений не произошло)... в результате полученые уменьшиные копии изображений очень сильно искажаются... и тут дело не в качестве картинки, а том, что искажению подвергаются даже цветовая гамма картинки......

Знающие люди... пожалуста, помогите решить проблему.....

   
 
 автор: coloboc66   (18.12.2006 в 10:09)   письмо автору
 
   для: Serafim   (18.12.2006 в 08:27)
 

Нате скрипт и не мучайтесь.

<?
    
//--- scaner ---------------------------
    
$trumb_size_y =88;
    
$trumb_dir "thumb";
    
$jpg_quality 100;
  
$dir opendir (".");
$files= array();
  while (
$file readdir ($dir)) 
  {
    if(
$file <> "." && $file <> "..")
    {
    if (
eregi(".jpg$|.gif$|.png$|.jpeg$"$file)) 
    {     
        
$files[] = $file;
    }    
    }
  }
  
closedir ($dir);
for(
$n=0$n<count($files); $n++)
{
    
$dir_ret opendir("./$trumb_dir/");
    
closedir ($dir_ret);
    if(
$dir_ret == False mkdir($trumb_dir);
    if(!
file_exists("./$trumb_dir/$files[$n]"))
    {
        
$size getimagesize($files[$n]);
        
$b=imagecreatefromjpeg($files[$n]);            
        
$t=imagecreatetruecolor(($trumb_size_y)*($size[0]/$size[1]),$trumb_size_y);
        
imagecopyresized($t,$b,0,0,0,0,($trumb_size_y)*($size[0]/$size[1]),$trumb_size_y,$size[0],$size[1]);
            if(
eregi(".jpg$|.jpeg$|.jps$",$files[$n]))     imagejpeg($t,"./$trumb_dir/".$files[$n],$jpg_quality);
        if(
eregi(".gif$",$files[$n]))             imagegif($t,"./$trumb_dir/".$files[$n]);
        if(
eregi(".png$",$files[$n]))             imagepng($t,"./$trumb_dir/".$files[$n]);

    }
}
?>

   
 
 автор: Serafim   (18.12.2006 в 10:51)   письмо автору
 
   для: coloboc66   (18.12.2006 в 10:09)
 

большое пасиба!!! сеня вечером проверю =))))

   
Rambler's Top100
вверх

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