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

Форум PHP

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

 

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

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

тема: Увеличение качество сжатия
 
 автор: sidPR   (20.01.2007 в 01:56)   письмо автору
 
 


function resizeimg($filename, $smallimage) 
  { 
    $filename = $filename;  
    $smallimage = $smallimage;     
    $size_img = getimagesize($filename); 
    if ($size_img[0]<$size_img[1]){$w=700; $h=700; } 
    else {$w=700; $h=700;} 
    $ratio = $w/$h; 
    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_img, 255, 255, 255);        
    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, 0, 0, 0, 0, $w, $h, $size_img[0], $size_img[1]);                 
    if ($size_img[2]==2)  imagejpeg($dest_img, $smallimage);                       
    else if ($size_img[2]==1) imagegif($dest_img, $smallimage);                       
    else if ($size_img[2]==3) imagepng($dest_img, $smallimage); 
    imagedestroy($dest_img); 
    imagedestroy($src_img); 
    return true;          
  }   

Подскажите пожалуйста как сдесь можно максимально увелечить качество сжатия а то слишком больно сильно тиснет размыто немного выходит? которая 700 на 700

   
 
 автор: bronenos   (20.01.2007 в 08:46)   письмо автору
 
   для: sidPR   (20.01.2007 в 01:56)
 

Как мне кажется, форматы придумали компании, и качество сжатия какое - это им решать, а вам остается лишь выбрать какой-то формат...

   
 
 автор: ssdmt_   (20.01.2007 в 10:46)   письмо автору
 
   для: sidPR   (20.01.2007 в 01:56)
 

.

   
 
 автор: ULIS   (20.01.2007 в 13:25)   письмо автору
 
   для: sidPR   (20.01.2007 в 01:56)
 

попробуй в качестве третьего аргумента функций imagejpeg, imagegif, imagepng поставить значение 100

   
 
 автор: sidpr   (22.01.2007 в 12:22)   письмо автору
 
   для: ULIS   (20.01.2007 в 13:25)
 

Спасибо вроде получше стало, а еще такой вопрос почему некторые форматы картинок не сжимает к примеру bmp ??

   
 
 автор: sidPR   (22.01.2007 в 20:24)   письмо автору
 
   для: sidpr   (22.01.2007 в 12:22)
 

imagebmp какой чтоли куда вставить.... ?! =\

   
 
 автор: Sergey89   (22.01.2007 в 20:33)   письмо автору
 
   для: sidPR   (22.01.2007 в 20:24)
 

Дак, а ДжиДи вроде как не работает с ВМР.

   
 
 автор: sidpr   (23.01.2007 в 13:10)   письмо автору
 
   для: Sergey89   (22.01.2007 в 20:33)
 

Получается одной функции которая будет сжимать все форматы нету?

   
 
 автор: Sergey89   (23.01.2007 в 13:23)   письмо автору
 
   для: sidpr   (23.01.2007 в 13:10)
 

Да. Но её можно написать. Нужно найти либы для работы с не подерживаемыми в GD форматами.

   
Rambler's Top100
вверх

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