Oferta SiteGround Black Friday

Cómo mejorar automáticamente imágenes JPG subidas a WordPress

A veces no nos queda más remedio que subir a nuestro WordPress las imágenes que tenemos, no las que nos gustaría tener, pero ¿qué pasa con esa imagen que salió desenfocada, sin contraste? ¿podemos arreglarla?

Desafortunadamente, el editor de imágenes incluido en WordPress no permite hacer este tipo de mejoras, solo nos deja rotar, recortar y poco más.

Pero sí que podemos forzar la mejora las imágenes en JPG que subamos, consiguiendo un mayor y mejor enfoque de las mismas.

Mejorando los JPG con un código que puedas personalizar

Mi consejo es que añadas este código a tu plugin de personalizaciones, o al archivo functions.php del tema activo para mejorar las imágenes en JPG que subas a tu WordPress.

function ajx_sharpen_resized_files( $resized_file ) {
    $image = wp_load_image( $resized_file );
    if ( !is_resource( $image ) )
        return new WP_Error( 'error_loading_image', $image, $file );
    $size = @getimagesize( $resized_file );
    if ( !$size )
        return new WP_Error('invalid_image', __('No se pudo determinar el tamaño del archivo'), $file);
    list($orig_w, $orig_h, $orig_type) = $size;
    switch ( $orig_type ) {
        case IMAGETYPE_JPEG:
            $matrix = array(
                array(-1, -1, -1),
                array(-1, 16, -1),
                array(-1, -1, -1),
            );
            $divisor = array_sum(array_map('array_sum', $matrix));
            $offset = 0; 
            imageconvolution($image, $matrix, $divisor, $offset);
            imagejpeg($image, $resized_file,apply_filters( 'jpeg_quality', 90, 'edit_image' ));
            break;
        case IMAGETYPE_PNG:
            return $resized_file;
        case IMAGETYPE_GIF:
            return $resized_file;
    }
    return $resized_file;
}   
add_filter('image_make_intermediate_size', 'ajx_sharpen_resized_files',900);

Con estos ajustes conseguirás que una imagen así…

Pase a verse así…

Como puedes comprobar, mucho más detalle, enfoque y contraste.

Mejorando la calidad inicial

Por si no lo sabías, WordPress reduce la calidad inicial de los JPG al subirlos, pero puedes evitarlo, simplemente cambiando la línea siguiente del código anterior:

imagejpeg($image, $resized_file,apply_filters( 'jpeg_quality', 90, 'edit_image' ));

Por esta otra:

imagejpeg($image, $resized_file,apply_filters( 'jpeg_quality', 100, 'edit_image' ));

Otra posibilidad es simplemente añadir este filtro a tu plugin de funciones o functions.php:

/* Mejorar calidad de JPG de WordPress */
add_filter('jpeg_quality', function($quality) { return 100; } );

Mejorando los JPG con un plugin

También, si lo prefieres, puedes aplicar la mejora a los JPG con el plugin Sharpen Resized Images que, aunque hace tiempo que no se actualiza, sigue funcionando.

No tiene ajustes, solo tienes que instalarlo y activarlo.

Notas importantes

Algunos detalles sobre este truco:

  • Solo funciona con imágenes en JPG.
  • Tanto si usas el código como el plugin solo funciona para las imágenes nuevas que subas a partir de activarlo.
  • Si quieres aplicarlo a las imágenes ya subidas tendrás que regenerar miniaturas tras activarlo, con plugin, o desde WP-CLI.

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en los emoticonos para valorarlo!

Promedio de puntuación 5 / 5. Total de votos: 11

Hasta ahora ¡no hay votos!. Sé el primero en valorar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en las redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Ayúdame a mejorar este contenido!

Por favor, dime, ¿cómo puedo mejorarlo?

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado. ¡Ah! ¿te funciona? pues entonces no he dicho nada :)

Sobre el autor

6 comentarios en “Cómo mejorar automáticamente imágenes JPG subidas a WordPress”

  1. Muchas gracias! Una funcionalidad muy interesante. Sobre todo para blogs donde la imagen cobra gran importancia como podría ser el sector de los fotógrafos.

  2. Que tal Fernando, he implementado el código con un valor 100, pero me arroja error: Out of memory (allocated 104071168) (tried to allocate 212 bytes) al momento de subir imágenes a través de la biblioteca de medios, y si lo subo a través del editor sale un error HTTP, y el error lo arroja justamente una de las líneas del código.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información base sobre privacidad:
- Responsable: Fernando Tellado ([email protected])
- Fin del tratamiento: Moderación de comentarios para evitar spam
- Legitimación: Tu consentimiento
- Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal
- Derechos: Acceso, rectificación, portabilidad, olvido

 

Scroll al inicio