Autor Zpráva
Wladimir Čert
Profil *
Zdravím,
zkouším použít Vránův princip zmenčení obrázkua a následně obrázek znehodnotit vodoznakem.

PHP:
// Zmena velikosti
function image_resize($vstup, $vystup, $sirka, $sirka) {

    // Zjištění velikosti obrázku
    $velikostobrazku = getimagesize($vstup);
    
    if ((!$sirka && !$sirka) || !$velikostobrazku[0] || !$velikostobrazku[1]) {
        return false;
    }
    if ($velikostobrazku[0] == $sirka && $velikostobrazku[1] == $sirka) {
        return copy($vstup, $vystup);
    }
    
    // imagecreatefrom *
    switch ($velikostobrazku[2]) {
        case 1: $img = imagecreatefromgif($vstup); break;
        case 2: $img = imagecreatefromjpeg($vstup); break;
        case 3: $img = imagecreatefrompng($vstup); break;
        default: return false;
    }
    if (!$img) {
        return false;
    }
    
    
    // ********  Začátek Vodoznaku ******** //
    $obrazek = imagecreatefromfile($vstup);
    $vodoznak = imagecreatefrompng("logo.png");
    
    // Zjištění rozměrů vodoznaku obrázku a vodoznaku
    $w = imagesx($obrazek);
    $h = imagesy($obrazek);
    $ww = imagesx($vodoznak);
    $wh = imagesy($vodoznak);
    
    // Umístění vodoznaku
    $osa_x = (imagesx($obrazek) - imagesx($vodoznak))/2;
    $osa_y = (imagesy($obrazek) - imagesy($vodoznak))/2;
    
    // 
    imagecopy($obrazek, $vodoznak,  $osa_x, $osa_y, 0, 0, $ww, $wh);  
    $img2 = imagecreatetruecolor($sirka, $sirka);  
    imagecopyresampled($img2, $img, 0, 0, 0, 0, $sirka, $sirka, $velikostobrazku[0], $velikostobrazku[1]);

    
    if ($velikostobrazku[2] == 2) {
        return imagejpeg($img2, $vystup);
    } elseif ($velikostobrazku[2] == 1 && function_exists("imagegif")) {
        imagetruecolortopalette($img2, false, 256);
        return imagegif($img2, $vystup);
    } else {
        return imagepng($img2, $vystup);
    }
}


Aplikace nevrátí žádnou chybu, nicméně k vodoznaku vůbec nedojde ale ke zmenšení ano. Mohl by se an to prosím někdo ze zkušenějších kouknout a poradit kde dělám chybu?
navazuji na můj minulý problém , řešení dynamického vodoznaku jsem zavrhl, jelikož hosting s tím měl problém (ani se nedivím).

Děkuji


Poprosím o úpravu titulku "Zmenšení fotky a vložení vodoznaku - zmenšení proběhne, vodoznak nikoli". Uklepl jsem se.
Díky
Alphard
Profil
Vy s námi hrajete hru Tipni si... Když k vodoznaku nedojte, na kterém řádku a jak se to sekne?
Funkci imagecreatefromfile() máte předpokládám někde vytvořenou.

Titulek upravit nemohu, je tam (podle mě zbytečné) omezení délky.
Wladimir Čert
Profil *
Bude to znít hloupě, ale už to mám :). Ano, ta funkce byla výš.
Problém byl neexistující soubor a vypnutý debug.
Díky

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: