Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    inserire immagini da imagecopy() nell'html del documento

    Ciao a tutti!
    In un file .php ho copiato una porzione di un'immagine dentro un'altra immagine.
    Per fare questo ho utilizzato la funzione imagecopy();
    La funzione lavora correttamente, e tuttavia l'immagine risultante mi viene sempre e solo visualizzata
    isolatamente, cioé DA SOLA nella finestra del browser SENZA che sia inserita nel contesto della pagina html.
    Come faccio perché mi venga invece visualizzata all'interno del corpo del documento???
    Per facilitarvi vi posto il codice che ho cercato di semplificare al massimo:

    <?php

    // importiamo i canvasData
    $canvasData = $_POST['canvasData'];
    // rimuoviamo l'intestazione data:image/png;base64,
    $imageData=substr($canvasData, strpos($canvasData, ",")+1);
    // decodifichiamo i dati dell'immagine
    $imageData=base64_decode($imageData);
    // creiamo l'immagine dalla stringa
    $QR = imagecreatefromstring($imageData);
    // creiamo una variabile per il file infolink.png
    $cornice = imagecreatefrompng('infolink.png');
    imagecopy($cornice, $QR, 45, 33, 0, 0, 200, 200);
    // Output
    header('Content-Type: image/png');
    imagepng($cornice);
    imagedestroy($cornice);
    imagedestroy($QR);

    echo '
    <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”>
    <HTML>
    <HEAD>
    <title>output</title>
    </HEAD>
    <BODY>
    <CENTER>


    VORREI INSERIRE QUI L'IMMAGINE!! :-)


    </CENTER>
    </BODY>';

    ?>
    A chi mi aiuta offro una birra virtuale!
    Grazie!

    Melvis

  2. #2
    ciao amici, alla fine ce l'ho fatta e funziona benone!!

    invece di
    // Output
    header('Content-Type: image/png');
    imagepng($cornice);
    imagedestroy($cornice);
    imagedestroy($QR);

    ho scritto
    // Output
    ob_start();
    imagepng($cornice);
    $imgString=ob_get_clean();
    $imgBase64=base64_encode($imgString);

    mentre tra i tag <CENTER></CENTER> dell'html si mette
    echo '<IMG src="data:image/png;base64,'; echo $imgBase64; echo '">';

    in pratica l'immagine viene prima memorizzata nel buffer interno e poi codificata in base64
    il risultato viene poi utilizzato per integrare l'attributo src del tag <IMG> all'interno dell'html

    spero che la cosa possa essere utile anche a voi, alla prossima!!

    Melvis

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.