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