Autor | Zpráva | ||
---|---|---|---|
amen Profil * |
#1 · Zasláno: 22. 7. 2009, 23:08:12
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 |
#3 · Zasláno: 22. 7. 2009, 23:12:46
|
||
amen Profil * |
#4 · Zasláno: 24. 7. 2009, 12:28:32
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 |
#5 · Zasláno: 24. 7. 2009, 12:53:42
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 |
#7 · Zasláno: 24. 7. 2009, 13:43:18
amen:
doporučuji naučit se začátky, než se začneš pouštět to těžších věcí. |
||
hary28 Profil |
#8 · Zasláno: 24. 7. 2009, 15:08:28 · Upravil/a: hary28
Jka řekl SwimX nauč se začátky. Tu funkci použiješ takto:
nahled("/i", "i.jpg", 320, 480); |
||
amen Profil * |
#9 · Zasláno: 24. 7. 2009, 19:52:51
já už sem se začátky učil mockrát. Jenomže mě to strašně nebaví.
|
||
hary28 Profil |
#10 · Zasláno: 25. 7. 2009, 11:16:25
amen
Když tě to nebaví neprogramuj! |
||
Časová prodleva: 15 let
|
0