ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » Bilder werden automatisch gedreht

Geschlossen
  1. #1
    User Pic
    lordwurzel Mitglied
    Registriert seit
    24.10.2013
    Beiträge
    35
    Beitragswertungen
    0 Beitragspunkte
    Hallo,

    ich habe das Problem, dass Hochkannt-Formatierte Bilder, die ich in der Gallery uploade automatisch ins Querformat gedreht werden. Ich nutze Watermark um beim Hochladen automatisch das Vereinslogo ins Bild einzubetten, und dies funktioniert auch alles wunderbar. Bloß dass eben die Bilder gedreht werden. Ich finde auch keine Möglichkeit dies zu umgehen.
    Ich vermute sehr stark, dass das Drehen am Watermarkscript liegt.
    Hier einmal der entsprechende Code, vielleicht findet dort jemand einen Ansatzpunkt

    <?php   // position:
            // 1 oben links
            // 2 oben mittig
            // 3 oben rechts
            // 4 Mitte links
            // 5 Mitte
            // 6 Mitte rechts
            // 7 unten links
            // 8 unten mittig
            // 9 unten rechts
    
    function watermark($image, $watermark, $save_as, $position = 9, $transparency = 0, $t_x = 0, $t_y = 0) {
        if ($position < 1 || $position > 9)
            return false;
        if (!file_exists($image) || !file_exists($watermark))
            return false;
        $infos_img = getimagesize($image);
        //print_r($infos_img);
        $infos_wat = getimagesize($watermark);
        if (!in_array($infos_img[2], array(1, 2, 3)) || !in_array($infos_wat[2], array(1, 2, 3)))
            return false;
        if ($infos_img[0] < $infos_wat[0] || $infos_img[1] < $infos_wat[1])
            return false;
        if ($infos_wat[0] < $t_x || $infos_wat[1] < $t_y)
            return false;
        $transparency = 100 - $transparency;
        if ($transpareny < 0 || $transpareny > 100)
            return false;
        @unlink($save_as);
        // Position x
        switch (($position - 1) % 3) {
            case 0:
                $pos_x = 0;
                break;
            case 1:
                $pos_x = round(($infos_img[0] - $infos_wat[0]) / 2, 0);
                break;
            case 2:
                $pos_x = $infos_img[0] - $infos_wat[0];
                break;
        }
        // Position y
        switch (floor(($position - 1) / 3)) {
            case 0:
                $pos_y = 0;
                break;
            case 1:
                $pos_y = round(($infos_img[1] - $infos_wat[1]) / 2, 0);
                break;
            case 2:
                $pos_y = $infos_img[1] - $infos_wat[1];
                break;
        }
        // watermark-procedure
        switch ($infos_img[2]) {
            case 2: $img_image = imagecreatefromjpeg($image); break;
            case 3: $img_image = imagecreatefrompng($image);  break;
            case 1: $img_image = imagecreatefromgif($image);  break;
        }
        switch ($infos_wat[2]) {
            case 2: $img_watermark = imagecreatefromjpeg($watermark); break;
            case 3: $img_watermark = imagecreatefrompng($watermark);  break;
            case 1: $img_watermark = imagecreatefromgif($watermark);  break;
        }
    
        imagealphablending($img_image, true);
        imagealphablending($img_watermark, true);
        imagecolortransparent($img_watermark, imagecolorat($img_watermark, $t_x, $t_y));
        imagecopymerge($img_image, $img_watermark, $pos_x, $pos_y, 0, 0, $infos_wat[0], $infos_wat[1], $transparency);
    
        $fende = strtolower(substr($save_as, - 3));
    
        if ($fende == 'png') {
            return imagepng($img_image, $save_as);
        } elseif ($fende == 'gif') {
            return imagegif($img_image, $save_as);
        } else {
            return imagejpeg($img_image, $save_as);
        }
    }
    ?>


    Für Vorschläge und Hilfe wäre ich sehr dankbar!


    verwendete ilch Version: 1.1 P

    betroffene Homepage: bergedorfer-poker.de
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten