MemoCode - PHP
MemoCode

Como convertir imagen PNG a JPG


1. Crea un archivo index.php para crear formulario y codigo php


index.php
                    
<!DOCTYPE html>
<html lang="es">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Convertir PNG A JPG</title>
</head>

<body>
    <h2>Subir imagen PNG para convertir a JPG</h2>
    <form action="" method="post" enctype="multipart/form-data">
        <label for="image">Seleccione un archivo PNG:</label>
        <input type="file" name="image" accept="image/png" id="image" required>
        <br><br>
        <input type="submit" name="submit" value="Convertir a JPG">
    </form>
</body>

</html>
                    
                

2. Despues de toda la estructura html debajo ponemos el codigo php que se encargar de realizar la conversion del archivo que carguemos en el forumario para convertirlo en JPG


index.php
                    
<?php
// Verifica si el formulario ha sido enviado
if (isset($_POST['submit'])) {

    // Verifica si se ha subido un archivo y si no ha ocurrido un error en la subida
    if (isset($_FILES['image']) && $_FILES['image']['error'] == 0) {

        // Obtiene el tipo MIME del archivo subido
        $filetype = mime_content_type($_FILES['image']['tmp_name']);

        // Verifica si el archivo subido es un PNG
        if ($filetype == 'image/png') {

            // Ruta temporal del archivo subido
            $inputfile = $_FILES['image']['tmp_name'];

            // Genera el nombre del archivo de salida con extensión .jpg
            $outputfile = basename($_FILES['image']['name'], '.png') . '.jpg';

            // Crea una imagen desde el archivo PNG
            $image = imagecreatefrompng($inputfile);

            // Verifica si la imagen se ha cargado correctamente
            if ($image == false) {
                die('Error al cargar la imagen PNG'); // Finaliza el script si hay un error
            }

            // Crea una nueva imagen en blanco con las mismas dimensiones que la imagen original
            $background = imagecreatetruecolor(imagesx($image), imagesy($image));

            // Define el color blanco
            $white = imagecolorallocate($background, 255, 255, 255);

            // Rellena la imagen de fondo con color blanco
            imagefill($background, 0, 0, $white);

            // Copia la imagen original sobre la imagen de fondo blanco
            imagecopy($background, $image, 0, 0, 0, 0, imagesx($image), imagesy($image));

            // Define la calidad de la imagen JPG (de 0 a 100)
            $quality = 90;

            // Guarda la imagen en formato JPG
            if (imagejpeg($background, $outputfile, $quality)) {
                // Si la conversión es exitosa, muestra un mensaje y un enlace de descarga
                echo "Conversión completada exitosamente. Archivo guardado en: " . $outputfile;
                echo "<br><a href='$outputfile' download>Descargar imagen JPG</a>";
            } else {
                // Si la conversión falla, muestra un mensaje de error
                echo "Error al convertir imagen";
            }

            // Libera la memoria asociada a las imágenes
            imagedestroy($image);
            imagedestroy($background);
        } else {
            // Si el archivo subido no es un PNG, muestra un mensaje de error
            echo "El archivo subido no es un PNG. Por favor, sube un archivo PNG";
        }
    } else {
        // Si ocurre un error al subir el archivo, muestra un mensaje de error
        echo "Error al subir el archivo. Por favor, intenta nuevamente";
    }
}
?>
                    
                

3. Listo, con esto deberia poder coventir tus imagenes de PNG a JPG


Descargar proyecto Tutorial youtube