Ir para conteúdo
Fórum Script Brasil
  • 0

Criando Imagem com php


*FIT*

Pergunta

Bom dia Galera, todos bem?

Preciso de um script onde será mostrada a foto de um determinado produto, e o usuario poderá escrever alguma coisa nele, assim que ele der o OK, teria que aparecer o que ele escrever na imagem, até ai consigo imagettftext usando a biblioteca GD, porém, quero fazer isso sem dar refresh na página.

Estou usando essa função para pegar os parametros, mandar para a pagina que faz o processo de escrita e retornar para o resultado sem sair da pagina.

<script type="text/javascript">
        
                function lerTexto(img)
                
                {
                  w=document.getElementById("texto").value;
                  getTexto(img,w);
                }
        
</script>     

&lt;script language="javascript" type="text/javascript">

function getXMLHTTP() { 
        var xmlhttp=false;    
        try{
            xmlhttp=new XMLHttpRequest();
        }
        catch(e)    {        
            try{            
                xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch(e){
                try{
                xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
                }
                catch(e1){
                    xmlhttp=false;
                }
            }
        }
             
        return xmlhttp;
    }
    
    function getTexto(imagem,texto) {
        var strURL="imagens.php?imagem="+imagem+"&texto="+texto;
        var req = getXMLHTTP();
        
        if (req) {
            
            req.onreadystatechange = function() {
                if (req.readyState == 4) {
                    // only if "OK"
                    if (req.status == 200) {                        
                        document.getElementById('imagem').innerHTML=req.responseText;                        
                    } else {
                        alert("There was a problem while using XMLHTTP:\n" + req.statusText);
                    }
                }                
            }            
            req.open("GET", strURL, true);
            req.send(null);
        }        
    }

    
</script>
Até ai perfeito, retorna o valor, ou seja a função funciona o problema mesmo deve estar no php porque em vez de retornar a imagem, está retornando uma página cheia de caracteres estranhos e tal. Desconfio que isso aconteça devido a imagem ser criada e depois destruida, mas já comentei a parte em que é destruida e o resultado é o mesmo. ai vai o código.
<?php
    
    $string=  $_GET["texto"];
    $gfx= $_GET["imagem"];

    $extension=substr($gfx, -3);
    $extension = strtolower($extension);
    
    if ($extension=="jpg" || $extension=="gif"  || $extension=="png" ){

        if ($extension=="jpg"){
            $im     = imagecreatefromjpeg($gfx);    
        }
        if ($extension=="gif"){
            $im     = imagecreatefromgif($gfx);    
        }        
        if ($extension=="png"){
            $im     = imagecreatefrompng($gfx);    
        }
        header("Content-type: image/png");

        // Colocar o Texto na Imagem        
        $white = imagecolorallocate($im, 255, 255, 255);
        $altura= (imagesy($im))-30;
        $altura2= (imagesy($im))-15;
        
        // Definir as variaveis GD
        putenv('GDFONTPATH=' . realpath('.'));
        
        // Nome da(s) fonte(s). 
        $fonte = 'GeosansLight.ttf';
        //$fonte2='GeosansLight-Oblique.ttf';
        
        // bool imagestring  ( resource $image  , int $font  , int $x  , int $y  , string $string  , int $color  )
        imagettftext($im, 20, 0, 55, $altura, $white, $fonte, $string);
        //imagettftext($im, 13, 0, 10, $altura2, $white, $fonte2, $string2);
        
        imagepng($im);    
        imagedestroy($im);
        
    }
?>

Se alguém tiver uma solução eu agradeço muito, abraços e um bom final de semana!

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Bom galera, resolvi o meu problema, fiz de um jeito diferente...chamei um outro script montando a seguinte "tag"

<img src="imagens.php?texto=$texto&imagem=$imagem">

ai ele trouxe o resultado perfeitamente, obrigado a todos assim mesmo!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,7k
×
×
  • Criar Novo...