Cambie el tamaño de la imagen sin perder calidad cuando la imagen es más grande que 3000px

Tengo una secuencia de comandos para cambiar el tamaño de mi imagen cargada sin perder calidad, pero cuando tiene más de 3000 píxeles de ancho/alto, no cambia el tamaño. Intento establecer valores en httaccess pero nada cambia.

Aquí está el guión:

$filename = "image.jpg";
    // Set a maximum height and width
    $width = 490;
    $height = 800;

    header('Content-Type: image/jpeg');

    list($width_orig, $height_orig) = getimagesize($filename);

    $ratio_orig = $width_orig / $height_orig;

    if ($width / $height > $ratio_orig) {
        $width = $height * $ratio_orig;
    } else {
        $height = $width / $ratio_orig;
    }

    // Resample
    $image_p = imagecreatetruecolor($width, $height);
    $image = imagecreatefromjpeg($filename);
    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

    // Output
    imagejpeg($image_p, "image_resized.jpg", 100);



y .htacces probé:

php_value memory_limit 24M
php_value upload_max_filesize 10M  
php_value post_max_size 10M  
php_value max_input_time 300  
php_value max_execution_time 300 

preguntado el 22 de mayo de 12 a las 17:05

Pantalla blanca sin imagen, nada más, la imagen se sube pero en tamaño original -

¿Puedes probar un var_dump(imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig));exit; para comprobar el valor de retorno? -

1 Respuestas

Al volver a muestrear la imagen, use @

es decir,

// Resample
$image_p = imagecreatetruecolor($width, $height);
$image = @imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

SOLUCIÓN PROBADA.

Respondido el 06 de enero de 13 a las 14:01

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.