Ergebnis 1 bis 8 von 8

Thema: Banner Wächsel ind Sig

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #3
    Zitat Zitat von dead_orc
    So wie's aussieht, ist das kein PHP-Skript, sondern ein PNG. Wie man solche PNGs, die bei jedem Aufruf was anderes anzeigen, erstellt, weiß ich nicht.
    Kann man nicht. Wahrscheinlich hat NPC einfach einen Ordner namens "dateiname.png" erstellt und da die index.php reingetan, die das Bild zurückgibt. Das ist ein recht bekannter Trick, um dynamiche Bilder in Foren zu verwenden, die nur bestimmte Dateiendungen in der Sig/dem Ava erlauben.


    Es ist übrigens problemlos möglich, verschiedene Quellformate zu verwenden, aber etwas aufwendig. Man muß das Quellbild erst auslesen und dann als neues Bild ausgeben.

    Man kann beliebige Bilder laden, indem man folgende Funktion verwendet:
    PHP-Code:
    function LoadImage($image)
    {
     
    $type exif_imagetype ($image); // Liest die ersten Bytes der Datei und bestimmt so den Dateityp
     
    switch ($type)
     {
      case 
    "3":
       
    $return imagecreatefrompng ($image);
       break;
      case 
    "2":
       
    $return imagecreatefromjpeg ($image);
       break;
      case 
    "1":
       
    $return imagecreatefromgif ($image);
       break;
      default:
      
    $return imagecreate(1,1); // Das Bild hat ein nicht unterstütztes Format
       
    break;
     }

     return 
    $return;

    Das gesamte Skript könnte dann so aussehen:
    PHP-Code:
    <?
    header("Content-Type: image/png");

    $bilder = array('bild1.png', 'bild2.jpg', 'drittes.gif');
    // Der Aufruf von srand() ist nur bei PHP < 4.2.0 nötig
    $bildnr = rand(0, count($bilder) - 1);
    $im = LoadImage($bilder[$bildnr]);
    ImagePNG($im);

    function LoadImage($image)
    {
     $type = exif_imagetype ($image);
     switch ($type)
     {
      case "3":
       $return = imagecreatefrompng ($image);
       break;
      case "2":
       $return = imagecreatefromjpeg ($image);
       break;
      case "1":
       $return = imagecreatefromgif ($image);
       break;
      default:
      $return = imagecreate(1,1);
       break;
     }

     return $return;
    }
    ?>
    Oder, kürzer:
    PHP-Code:
    <?
    header("Content-Type: image/png");

    $bilder = array('bild1.png', 'bild2.jpg', 'drittes.gif');
    ImagePNG(LoadImage($bilder[rand(0, count($bilder) - 1)]));

    function LoadImage($image)
    {
     $type = exif_imagetype ($image);
     switch ($type)
     {
      case "3":
       $return = imagecreatefrompng ($image);
       break;
      case "2":
       $return = imagecreatefromjpeg ($image);
       break;
      case "1":
       $return = imagecreatefromgif ($image);
       break;
      default:
      $return = imagecreate(1,1);
       break;
     }

     return $return;
    }
    ?>

    Geändert von Jesus_666 (29.05.2005 um 12:57 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •