GD bereitet Probleme

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • GD bereitet Probleme

    Hallo,
    ich habe auf meiner Homepage einen Skript, der mir automatisch eine Bildergallerie erstellen kann, und bei dem man auch die Möglichkeit hat, Bilder als eCards zu versenden.
    Bislang lief alles glatt auf dem Server, bis zu dem Tag als mein Homepage-Provider sein Server geupdated hat, und eine neuere Version von PHP und Co. installiert hat.
    Mein Skript geht zwar immer noch, doch das ist nun das grosse Problem:

    Die Bilder werden mit 256 Farben angezeigt, was dazu führt dass die Qualität der Bilder miserabel ist. Nach Angaben meines Providers muss ich eine Funktion ändern, die bei mir mit GD 1.6. anstatt mit GD 2.0. .

    Da ich aber jetzt nicht weiss wie ich das ändern soll (weil ich nicht weiss WAS ich genau ändern soll), wollt ich fragen ob jemand eine Lösung für dieses Problem hätte...

    Die Datei MAKEIMG.PHP , die die Bilder generiert, habe ich hier unten kopiert:

    <?php
    header("Cache-Control: public");
    function errImg($errtype)
    {
    global $size;

    $im = imagecreate(100, 76);
    if($size == "thumb")
    {
    $bgc = imagecolorallocate($im, 107, 105, 239);
    } else {
    $bgc = imagecolorallocate($im, 255, 255, 255);
    }
    $tc = imagecolorallocate($im, 0, 0, 0);
    imagefilledrectangle($im, 0, 0, 100, 76, $bgc);
    if($errtype == "type")
    {
    imagestring($im, 3, 1, 5, "PICTURE FORMAT", $tc);
    imagestring($im, 3, 3, 20, "NOT SUPPORTED", $tc);
    } else if($errtype == "notfound") {
    imagestring($im, 3, 22, 5, "PICTURE", $tc);
    imagestring($im, 3, 16, 20, "NOT FOUND", $tc);
    }
    imagepng($im);
    imagedestroy($im);
    }

    if($reductor < 0.5 && $size != "thumb")
    {
    header("HTTP/1.0 403 Forbidden");
    exit();
    }
    if($type == "coords")
    {
    header("Content-Type: image/png");
    $uri = "./galleries/".$size."/".$gallery."/".$pic;
    } else if ($type == "id") {
    header("Content-Type: image/png");
    include "./include/config.inc.php";
    include "./include/mysql.inc.php";
    $query = "SELECT gallery, picname FROM ecards WHERE (uid = '".$pic."')";
    $result = mysql_query($query, $connection);
    $data = mysql_fetch_object($result);
    $uri = "./galleries/".$size."/".$data->gallery."/".$data->picname;
    } else {
    header("Content-Type: text/plain");
    die("Wrong parameter: type");
    }
    if(@fopen($uri, "r") === false)
    {
    header("Content-Type: image/png");
    errImg("notfound");
    exit();
    }
    $dimensions = @getimagesize($uri);
    switch($dimensions[2])
    {
    case 1:
    if(imagetypes() & IMG_GIF)
    {
    $oim = imagecreatefromgif($uri);
    } else {
    header("Content-Type: image/png");
    errImg("type");
    exit();
    }
    break;
    case 2:
    if(imagetypes() & IMG_JPG)
    {
    $oim = imagecreatefromjpeg($uri);
    } else {
    header("Content-Type: image/png");
    errImg("type");
    exit();
    }
    break;
    case 3:
    if(imagetypes() & IMG_PNG)
    {
    $oim = imagecreatefrompng($uri);
    } else {
    header("Content-Type: image/png");
    errImg("type");
    exit();
    }
    break;
    default:
    header("Content-Type: image/png");
    errImg("type");
    exit();
    }
    $ox = $dimensions[0];
    $oy = $dimensions[1];
    if($size == "thumb")
    {
    $im = imagecreate(100, 76);
    imagecopyresampled($im, $oim, 0, 0, 0, 0, 100, 76, $ox, $oy);
    } else {
    $im = imagecreate($ox / $reductor, $oy / $reductor);
    imagecopyresampled($im, $oim, 0, 0, 0, 0, $ox / $reductor, $oy / $reductor, $ox, $oy);
    }
    imagepng($im);
    imagedestroy($im);
    ?>

    Ich wäre sehr dankbar wenn mir jemand einen Tipp geben könnte, um diesem Problem aus den Füssen zu gehen.

    MfG
    Cyrille.

  • #2

    Anmerkung: This function was added in PHP 4.0.6 and requires GD 2.0.1 or later.

    Anmerkung: This function will not work with GIF file formats.



    und verwende bitte die php-tags des forums bei posten von code!
    änder das bitte noch in deinem post.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar

    Lädt...
    X