Autor Zpráva
amen
Profil *
potřeboval bych aby se mi po uploadu obrázku (tuhle funkci mám už hotovou). Obrázek zmenšil na určitou velikost (ta velikost by byla v proměnné) a v pravím dolním rohu se oběvil značka (c) a zase prměnná (to by si tam zapsal uživatel).
Vím že mi asi nikdo neuděláte celej script (kdyby to šlo bylo by to super), ale kdyby ste alespoń naťukli....
SwimX
Profil
amen:
např todle: (určitě to neni nejlepší možné, je to poměrně dost dávno co jsem to používal, třeba to někdo ještě upraví)
 <?php // tvorba nahledu
function nahled($cesta, $nazev, $width, $height, $small=''){
            define("WIDTH", $width); // výška
            define("HEIGHT", $height);  // šířka  
                $Im2 = ImageCreateFromJPEG($cesta."/$nazev"); // vytvoří obrázek ze souboru
                if(ImageSX($Im2)>ImageSY($Im2)){ // pokud je sirší než delší 
                    $pomer=ImageSY($Im2)/ImageSX($Im2); // získá poměr, upraví rozměry a označí ho jako na šířku = true
                    $sirka_nahled=WIDTH; 
                    $vyska_nahled=WIDTH*$pomer; 
                    $nasirku_nahled = true; 
                }
                else { // pokud je vyšší než širší
                    $pomer=ImageSX($Im2)/ImageSY($Im2); // získá poměr, upraví rozměry a označí ho jako na šířku = false 
                    $sirka_nahled=WIDTH*$pomer; 
                    $vyska_nahled=WIDTH; 
                    $nasirku_nahled = false; 
                } 
                settype($sirka_nahled, "integer"); // přetypování promněných na integer (aby nedocházelo k rozměru obrázku desetinným číslem)
                settype($vyska_nahled, "integer");
                $Im1 = ImageCreateTrueColor($sirka_nahled,$vyska_nahled);     // vytvoří náhled
                imagefilledrectangle ($Im1, 0, 0, WIDTH, HEIGHT, $White); 
                imagecopyresampled($Im1,$Im2,0,0,0,0,$sirka_nahled, $vyska_nahled,ImageSX($Im2),ImageSY($Im2));  
                imagejpeg($Im1, "$cesta/{$small}$nazev"); // uloží obrázek
                imagedestroy($Im1);
                imagedestroy($Im2);
return; } // konec funkce
?>


a psaní do obrázku jde např pomocí:
imagettftext($img, $size, $angel, $i*30+10, 40, $color_txt, "Mias.ttf", $_SESSION['capta'][$i]); // vložení textu do obrázku pomocí fontu Mias.ttf
Jan Tvrdík
Profil
Změna velikosti obrázku
Watermarky v PHP
amen
Profil *
SwimX: Tak sem si to chtěl vyzkoušet hodil sem tam proměný na tvrdo a ono to nic neudělá. Ani to nevyhodí chybu prostě jen prázdná bílá obrazovka.

 <?php // tvorba nahledu
 $cesta = "/i";
 $nazev = "i.jpg";
 $width = "320";
 $height = "480";
function nahled($cesta, $nazev, $width, $height, $small=''){
            define("WIDTH", $width); // výška
            define("HEIGHT", $height);  // šířka  
                $Im2 = ImageCreateFromJPEG($cesta."/$nazev"); // vytvoří obrázek ze souboru
                if(ImageSX($Im2)>ImageSY($Im2)){ // pokud je sirší než delší 
                    $pomer=ImageSY($Im2)/ImageSX($Im2); // získá poměr, upraví rozměry a označí ho jako na šířku = true
                    $sirka_nahled=WIDTH; 
                    $vyska_nahled=WIDTH*$pomer; 
                    $nasirku_nahled = true; 
                }
                else { // pokud je vyšší než širší
                    $pomer=ImageSX($Im2)/ImageSY($Im2); // získá poměr, upraví rozměry a označí ho jako na šířku = false 
                    $sirka_nahled=WIDTH*$pomer; 
                    $vyska_nahled=WIDTH; 
                    $nasirku_nahled = false; 
                } 
                settype($sirka_nahled, "integer"); // přetypování promněných na integer (aby nedocházelo k rozměru obrázku desetinným číslem)
                settype($vyska_nahled, "integer");
                $Im1 = ImageCreateTrueColor($sirka_nahled,$vyska_nahled);     // vytvoří náhled
                imagefilledrectangle ($Im1, 0, 0, WIDTH, HEIGHT, $White); 
                imagecopyresampled($Im1,$Im2,0,0,0,0,$sirka_nahled, $vyska_nahled,ImageSX($Im2),ImageSY($Im2));  
                imagejpeg($Im1, "$cesta/{$small}$nazev"); // uloží obrázek
                imagedestroy($Im1);
                imagedestroy($Im2);
return; } // konec funkce
?>


Jo a ještě i kdyby to fungovalo tak to jen vytvoří náhled jak ho mám uložit na hosting?
Jan Tvrdík
Profil
amen:
Když jsi tu funkce nahled nezavolal, tak se nemáš čemu divit :)
amen
Profil *
tak sem to zkusil takhle: a nic a to echo sem zkoušel dát před i za to return. Nejem si teda jistej jestli volám zprávnou funkci
<?php // tvorba nahledu
 $cesta = "/i";
 $nazev = "i.jpg";
 $width = "320";
 $height = "480";
function nahled($cesta, $nazev, $width, $height, $small=''){
            define("WIDTH", $width); // výška
            define("HEIGHT", $height);  // šířka  
                $Im2 = ImageCreateFromJPEG($cesta."/$nazev"); // vytvoří obrázek ze souboru
                if(ImageSX($Im2)>ImageSY($Im2)){ // pokud je sirší než delší 
                    $pomer=ImageSY($Im2)/ImageSX($Im2); // získá poměr, upraví rozměry a označí ho jako na šířku = true
                    $sirka_nahled=WIDTH; 
                    $vyska_nahled=WIDTH*$pomer; 
                    $nasirku_nahled = true; 
                }
                else { // pokud je vyšší než širší
                    $pomer=ImageSX($Im2)/ImageSY($Im2); // získá poměr, upraví rozměry a označí ho jako na šířku = false 
                    $sirka_nahled=WIDTH*$pomer; 
                    $vyska_nahled=WIDTH; 
                    $nasirku_nahled = false; 
                } 
                settype($sirka_nahled, "integer"); // přetypování promněných na integer (aby nedocházelo k rozměru obrázku desetinným číslem)
                settype($vyska_nahled, "integer");
                $Im1 = ImageCreateTrueColor($sirka_nahled,$vyska_nahled);     // vytvoří náhled
                imagefilledrectangle ($Im1, 0, 0, WIDTH, HEIGHT, $White); 
                imagecopyresampled($Im1,$Im2,0,0,0,0,$sirka_nahled, $vyska_nahled,ImageSX($Im2),ImageSY($Im2));  
                imagejpeg($Im1, "$cesta/{$small}$nazev"); // uloží obrázek
                imagedestroy($Im1);
                imagedestroy($Im2);
return; } // konec funkce
echo imagejpg;
?>
SwimX
Profil
amen:
doporučuji naučit se začátky, než se začneš pouštět to těžších věcí.
hary28
Profil
Jka řekl SwimX nauč se začátky. Tu funkci použiješ takto:
nahled("/i", "i.jpg", 320, 480);
amen
Profil *
já už sem se začátky učil mockrát. Jenomže mě to strašně nebaví.
hary28
Profil
amen
Když tě to nebaví neprogramuj!

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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