Uploading Images with transparent background

-3

I'm idealizing a system where the user should upload an image, but this image should be with the transparent background, because I want to use it for over by another image. I do not know how to do this, I have not had any idea yet.

    
asked by anonymous 14.09.2015 / 20:06

2 answers

0

I'm doing a job that has what you need and this part of images is simple, after I saw it easy I understood:

if ($_POST['cadastrar']) {

$foto = $_FILES["foto"];

if (!empty($foto["name"])) {

    // Largura máxima em pixels
    $largura = 1500;
    // Altura máxima em pixels
    $altura = 1800;
    // Tamanho máximo do arquivo em bytes
    $tamanho = 900000;

    // Verifica se o arquivo é uma imagem
    if(!preg_match("/^image\/(pjpeg|jpeg|png|gif|bmp)$/", $foto["type"])){
       $error[1] = "Isso não é uma imagem.";
    } 

    // Pega as dimensões da imagem
    $dimensoes = getimagesize($foto["tmp_name"]);

    // Verifica se a largura da imagem é maior que a largura permitida
    if($dimensoes[0] > $largura) {
        $error[2] = "A largura da imagem não deve ultrapassar ".$largura." pixels";
    }

    // Verifica se a altura da imagem é maior que a altura permitida
    if($dimensoes[1] > $altura) {
        $error[3] = "Altura da imagem não deve ultrapassar ".$altura." pixels";
    }

    // Verifica se o tamanho da imagem é maior que o tamanho permitido
    if($foto["size"] > $tamanho) {
        $error[4] = "A imagem deve ter no máximo ".$tamanho." bytes";
    }

    if (count(@$error) == 0) {

        // Pega extensão da imagem
        preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto["name"], $ext);

        // Gera um nome único para a imagem
        $nome_imagem = md5(uniqid(time())) . "." . $ext[1];

        // Caminho de onde ficará a imagem
        $caminho_imagem = "fotos/" . $nome_imagem;

        // Faz o upload da imagem para seu respectivo caminho
        move_uploaded_file($foto["tmp_name"], $caminho_imagem);

        $sql = mysql_query("INSERT INTO usuarios VALUES ('', '".$nome_imagem."')");

        if ($sql){
            echo "Você foi cadastrado com sucesso.";
        }
    }

    if (count(@$error) != 0) {
        foreach ($error as $erro) {
            echo $erro . "<br />";
        }
    }
}
}

Remember that you will need to create a folder inside the folder that is the system to allocate the photos, in the case the photos folder, as it is where the comment says path where the image will be

    
14.09.2015 / 21:42
0

The image will have a transparent background if it is made in PNG format. You can do a check when the user uploads the image, ensuring that the image is in PNG format. It should be specified to the user that the image should have transparent background.

I do not think it's possible to take a picture with a colored background and leave it with a transparent background without using some image editing software.

    
16.12.2015 / 14:53