Problems in displaying the image with GD Lib

0

In the front end I have the following code

    $separador = explode('ID = ', $data['produto_nome']);
    $produtoSelecionado = $wpdb->get_results( "SELECT * FROM gs_produtos WHERE id = '$separador[1]'" );

    echo '<img src="'.get_bloginfo( 'template_url' ).'/voucher.php">';

In the voucher.php file I have the following code

// Header informando que é uma imagem JPEG
header( 'Content-type: image/jpeg' );

if( $produtoSelecionado ){

    foreach( $produtoSelecionado as $voucher );

        $path = get_bloginfo( 'template_url' ).$voucher->voucher;

        // PEGA URL DA IMAGEM NO BANCO DE DADOS
        $voucherCliente = imagecreatefromjpeg( $path );

        // CORES DA SAIDA DA IMAGEM
        $cor = imagecolorallocate( $voucherCliente, 255, 255, 255 );

        // TEXTO 01 - ESCRITO NA IMAGEM
        $nome = urldecode( ucfirst( $data['userName'] ) );

        // ESCREVENDO NA IMAGEM
        imagestring( $voucherCliente, 5, 15, 515, $nome, $cor );

        // ENVIA IMAGEM PARA O BROWSER OU ARQUIVO
        imagejpeg( $voucherCliente, NULL, 80 );

}

I tried in many ways, but the image does not appear, it just appears that corrupted image icon, it is the first time I use this lib and I am not able to present the image.

    
asked by anonymous 03.12.2014 / 14:32

1 answer

-1

SOLVED THAT WAY.

<?php
        // Header informando que é uma imagem JPEG
        header( 'Content-type: image/jpeg' );

        if( $produtoSelecionado ){

            foreach( $produtoSelecionado as $voucher );

                $path = get_bloginfo( 'template_url' ).$voucher->voucher;

                // PEGA URL DA IMAGEM NO BANCO DE DADOS
                $voucherCliente = imagecreatefromjpeg( $path );

                // CORES DA SAIDA DA IMAGEM
                $cor = imagecolorallocate( $voucherCliente, 0, 0, 0 );

                // TEXTO 01 - ESCRITO NA IMAGEM
                $nome = urldecode( ucfirst( $data['userName'] ) );
                $cpf  = urldecode( $data['userCpf'] );

                echo $cpf;

                // ESCREVENDO NA IMAGEM
                imagestring( $voucherCliente, 5, 325, 108, $nome, $cor );

                ob_start();

                // ENVIA IMAGEM PARA O BROWSER OU ARQUIVO
                imagejpeg( $voucherCliente, NULL, 80 );

                $rawImageBytes = ob_get_clean();

                echo "<img src='data:image/jpeg;base64," . base64_encode( $rawImageBytes ) . "' />";

        }

    ?>
    
03.12.2014 / 18:17