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

Форум PHP

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

 

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

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

тема: Изменение размеров изображение
 
 автор: t3ma   (30.08.2009 в 13:35)   письмо автору
 
 

вот код.. ресайзит все нормально но вот только дело в качестве фотки.. фотка получается не совсем четкая как исходник.. как с этим боротся ? подскажите плз. как сделать чтоб ресайзило без потери качества

<?php
// Изменение размеров изображений; 
function img_resize($photo, $width) { 
    
// Проверяем существует ли изображение, если нет, то прекращаем выполнение
    
if (!file_exists($photo)) return false; 

    
$image = imagecreatefromjpeg($photo); 
    
$height = false;
    
// Опеределяем размеры изображения; 
    
$w_image = imagesx($image); 
    
$h_image = imagesy($image); 
    
// Если задананные размеры изображения больше чем фактические прекращаем выполнение
    
if ($w_image <= $width) return false; 
    
// Вычисляем масштаб; 
    
$ratio = $height ? max($w_image/$width, $h_image/$height) : $w_image/$width; 
    
// Вычисляем пропорции; 
    
$w_dest = round($w_image/$ratio); 
    
$h_dest = round($h_image/$ratio); 
           
// Создаём пустую картинку; 
        
$dest = imagecreatetruecolor($w_dest, $h_dest); 
        
// Масштабируем изображение; 
        
imagecopyresampled($dest, $image, 0, 0, 0, 0, $w_dest, $h_dest, $w_image, $h_image); 
     
// Выводи файл на экран
    
imagejpeg($dest); 
    
// Удаляем переменные изображений; 
    
imagedestroy($dest); 
    
imagedestroy($image); 
} 
?>

  Ответить  
 
 автор: dyadya   (30.08.2009 в 21:02)   письмо автору
 
   для: t3ma   (30.08.2009 в 13:35)
 

Наилучшее качество - imagejpeg($dest,'',100). По умолчанию используется 75

  Ответить  
 
 автор: TetRiska   (30.08.2009 в 21:32)   письмо автору
 
   для: t3ma   (30.08.2009 в 13:35)
 

Возможно ресайзит не пропорционально!

  Ответить  
 
 автор: Slo_Nik   (28.10.2009 в 13:37)   письмо автору
 
   для: TetRiska   (30.08.2009 в 21:32)
 

возможно

<php 
 // Опеределяем размеры изображения;  
    $w_image = imagesx($image);  
    $h_image = imagesy($image); 
// эти размеры задать фиксироваными

 // Вычисляем масштаб;  
    $ratio = $height ? max($w_image/$width, $h_image/$height) : $w_image/$width;  
    // Вычисляем пропорции;  
    $w_dest = round($w_image/$ratio);  
    $h_dest = round($h_image/$ratio); 
// эти строки убрать
?>

  Ответить  
Rambler's Top100
вверх

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