Visualizzazione risultati 1 fino 6 di 6

Discussione: [php] Inserire un'immagine in un'immagine PHP

  1. #1
    Guest

    Question [php] Inserire un'immagine in un'immagine PHP

    Buonasera a tutti altervistiani! Io ho creato un immagine dinamica in php (http://mcstatus.altervista.org/img_banner.php) il problema è che non trovo la funzione per inserire un altra immagine png nell'immagine in php... ho cercato su php.net ma mi sono usciti una miriade di risultati... qualcuno sa come potrei fare e se è possibile farlo? Grazie in anticipo!

    P.S. Allego il codice di img_banner.php:
    Codice PHP:
    <?php
    $ip
    = $_GET['ip'];
    $port = $_GET['port'];
    $server = $_GET['server'];

    header("Content-type: image/png");
    $immagine = imagecreate(350, 100);
    $sfondo = imagecolorallocate($immagine, 000, 000, 000);

    // Assegnazione del colore di sfondo dell'immagine
    imagefill($immagine, 0, 0, $sfondo);
    $white = imagecolorallocate($immagine, 0xFF, 0xFF, 0xFF);
    $red = imagecolorallocate($immagine, 0xEA, 0xFF, 0x00);
    $color = imagecolorallocate($immagine, 0x00, 0x99, 0x00);
    $red1 = imagecolorallocate($immagine, 0xFF, 0x00, 0x33);
    $font_file = './arial.ttf';
    // Assegnazione del colore del testo e della scritta sull'immagine
    imagefttext($immagine, 16, 0, 10, 25, $color, $font_file, 'MCStatus');

    imagefttext($immagine, 6.5, 0, 222, 98, $white, $font_file, 'MCSTATUS.ALTERVISTA.ORG');

    imagefttext($immagine, 10, 0, 10, 45, $white, $font_file, 'Server Name:');
    imagefttext($immagine, 10, 0, 10, 60, $white, $font_file, 'IP:');
    imagefttext($immagine, 10, 0, 10, 75, $white, $font_file, 'Port:');
    imagefttext($immagine, 10, 0, 10, 90, $white, $font_file, 'Status:');

    imagefttext($immagine, 10, 0, 110, 45, $red, $font_file, $server);
    imagefttext($immagine, 10, 0, 110, 60, $red, $font_file, $ip);
    imagefttext($immagine, 10, 0, 110, 75, $red, $font_file, $port);
    if(
    file_get_contents("http://mineproject.servegame.com/index.php?ip=" . $ip . "&port=" . $port) == "ONLINE"){
    imagefttext($immagine, 10, 0, 109, 90, $color, $font_file, 'ONLINE');
    } else {
    imagefttext($immagine, 10, 0, 109, 90, $red1, $font_file, 'OFFLINE');
    }
    // Stampa a video dell'immagine
    imagepng($immagine);

    // Distruzione dell'oggetto image
    imagedestroy($immagine);
    ?>

  2. #2
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Prova così:
    Codice PHP:
    ...
    ...
    ...

    $insert = imagecreatefrompng('img.png');

    $x = ...;
    $y = ...;
    imagecopy($immagine, $insert, $x, $y, 0, 0, imagesx($insert), imagesy($insert));

    header('Content-Type: image/png');
    imagepng($immagine);

    imagedestroy($immagine);
    imagedestroy($insert);
    ?>
    Ultima modifica di andreafallico : 10-04-2012 alle ore 01.57.00

  3. #3
    Guest

    Predefinito

    Funziona grazie... ma non è possibile tenere la trasparenza dell'immagine png? Altrimenti posso comunque colorare lo sfondo dell'immagine con il nero...

  4. #4
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Citazione Originalmente inviato da mcstatus Visualizza messaggio
    ma non è possibile tenere la trasparenza dell'immagine png?
    Ti riferisci all'immagine $insert?

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da andreafallico Visualizza messaggio
    Ti riferisci all'immagine $insert?
    Si, quella che deve inserita all'interno dell'immagine php...

  6. #6
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Sostituisci questo:
    Codice PHP:
    $immagine = imagecreate(350, 100);
    con questo:
    Codice PHP:
    $immagine = imagecreatetruecolor(350, 100);

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •