[ Jorgovan88 @ 26.07.2011. 01:59 ] @
Znaci imam jednu promenljivu koja je ustvari slika ja mislim da se to kreira ovako $img = imagecreatefromjpeg( $srcFile ); e sad hteo bih da tu sliku resizujem da joj sirina bude 550npr ali da se odnos strana ne izgubi tj da ostane isti. Posle toga dobijenu sliku treba ponovo upisati u neku promenljivu da bi ostatak koda mogao da odradi ubacivanje texta i ostalo. Pravim sajt za pravljenje demotivacija-vukajlija postera. Nasao sam neki kod od nekih rusa - radi sve ali ne radi resize pa sam hteo da pomocu datalife engine-a i tog koda napravim ceo sajt koji ce slagati te postere i gde ce korisnici moci da ih generisu i postavljaju evo ga kod (znaci radi sve samo ne smanjuje slike ako su ogromne) Code: <?php if (!defined("DATALIFEENGINE")) { die("Hacking Attemp!"); } function win_to_utf($s) { for($i=0, $m=strlen($s); $i<$m; $i++) { $c=ord($s[$i]); if ($c<=127) {$t.=chr($c); continue; } if ($c>=192 && $c<=207) {$t.=chr(208).chr($c-48); continue; } if ($c>=208 && $c<=239) {$t.=chr(208).chr($c-48); continue; } if ($c>=240 && $c<=255) {$t.=chr(209).chr($c-112); continue; } if ($c==184) { $t.=chr(209).chr(209); continue; }; if ($c==168) { $t.=chr(208).chr(129); continue; }; } return $t; } $dirdem=ROOT_DIR.'/uploads/demotivation/'; $tpl->load_template('demgen.tpl'); if (isset($_FILES["file"])){ $myfile = $_FILES["file"]["tmp_name"]; $font = str_replace ( "\\", "/", getcwd () )."/arial.ttf"; $font1 = $font; $headerSize = 33.5; $textSize = 24.0; $imageMargin = 20; $spacing = 16; $borderPad = 16; $srcFile = $myfile; $header = win_to_utf( $_POST["head"]); $text = win_to_utf($_POST["text"]); if( !file_exists( $srcFile ) ){ echo "picture file not found\n"; exit; } $img = imagecreatefromjpeg( $srcFile ); list($w, $h) = getimagesize( $srcFile ); $ha1 = imagettfbbox($headerSize, 0, $font1, $header ); $ha2 = imagettfbbox($textSize, 0,$font, $text ); $wt1 = $ha1[2]-$ha1[0]; $ht1 = $ha1[1]-$ha1[7]; $wt2 = $ha2[2]-$ha2[0]; $ht2 = $ha2[1]-$ha2[7]; $fw = $w + 8 + $imageMargin * 2 + $borderPad * 2; $fh = $h + 8 + $imageMargin * 2 + $borderPad * 2 + $ht1 + $ht2 + $spacing * 3; $fon = imagecreatetruecolor($fw, $fh); $white = imagecolorallocate( $fon, 255, 255, 255 ); $black = imagecolorallocate( $fon, 0, 0, 0 ); imagefill( $fon, 0, 0, $black ); imagecopy( $fon, $img, $imageMargin + $borderPad + 4, $imageMargin + $borderPad + 4, 0, 0, $w, $h ); imagerectangle( $fon, $imageMargin + $borderPad + 4 - 3, $imageMargin + $borderPad + 4 - 3, $imageMargin + $borderPad + $w + 4 + 2, $imageMargin + $borderPad + $h + 4 + 2, $white ); imagerectangle( $fon, $imageMargin + $borderPad + 4 - 4, $imageMargin + $borderPad + 4 - 4, $imageMargin + $borderPad + $w + 4 + 3, $imageMargin + $borderPad + $h + 4 + 3, $white ); imagettftext( $fon, $headerSize, 0, ($fw - $wt1) / 2, $imageMargin + $borderPad*2 + 8 + $h + $ht1 + $spacing, $white, $font1, $header ); imagettftext( $fon, $textSize, 0, ($fw - $wt2) / 2, $imageMargin + $borderPad*2 + 8 + $h + $ht1 + $ht2 + $spacing*2, $white, $font, $text ); $ts=$dirdem.time(); $ts1='/uploads/demotivation/'.time(); imagejpeg( $fon, $ts."_demotiv.jpg", 98 ); imagecolordeallocate( $fon, $black ); imagecolordeallocate( $fon, $white ); imagedestroy( $fon ); $output=$ts1."_demotiv.jpg"; $wdr= <<<HTML <center> <form enctype="multipart/form-data"> <tr><td width="120" height="30"><span style="font-size: xx-small;">» Ïðÿìàÿ ññûëêà:</span></td><td><input type="text" name="head" value="http://{$_SERVER['HTTP_HOST']}{$output}" style="border:1px solid #ccc;height:16px;width:300px;padding-left:5px;"></td></tr> <tr><td width="120" height="40"><span style="font-size: xx-small;">» Êîä äëÿ ôîðóìà:</span></td><td><input type="text" name="head" value="[img]http://{$_SERVER['HTTP_HOST']}{$output}[/img]" style="border:1px solid #ccc;height:16px;width:300px;padding-left:5px;"></td></tr> <tr><td width="120" height="30"><span style="font-size: xx-small;">» HTML-êîä:</span></td><td><input type="text" name="head" value="<img src="http://{$_SERVER['HTTP_HOST']}{$output}">" style="border:1px solid #ccc;height:16px;width:300px;padding-left:5px;"></td></tr> </form> </center> HTML; } else { $wdr = <<<HTML <center> <form method="post" enctype="multipart/form-data"> <tr><td width="120" height="40"><span style="font-size: xx-small;">» <b>Øàã 1:</b> Èçîáðàæåíèå:</span></td><td><input type="file" name="file"></td></tr> <tr><td width="120" height="30"><span style="font-size: xx-small;">» <b>Øàã 2:</b> Íàäïèñü ââåðõó:</span></td><td><input type="text" value="Ââåäèòå íàäïèñü..." onblur="if(this.value=='') this.value='Ââåäèòå íàäïèñü...';" onfocus="if(this.value=='Ââåäèòå íàäïèñü...') this.value='';" name="head" style="border:1px solid #ccc;height:16px;width:165px;padding-left:5px;"></td></tr> <tr><td width="120" height="30"><span style="font-size: xx-small;">» <b>Øàã 3:</b> Íàäïèñü âíèçó:</span></td><td><input type="text" value="Ââåäèòå íàäïèñü..." onblur="if(this.value=='') this.value='Ââåäèòå íàäïèñü...';" onfocus="if(this.value=='Ââåäèòå íàäïèñü...') this.value='';" name="text" style="border:1px solid #ccc;height:16px;width:165px;padding-left:5px;" value=""></td></tr> </table><br> <center><input type="submit" name="submit" value="Ñîçäàòü" style="border:1px solid #ccc;height:22px;width:200px;padding-left:5px;"></center> </form> </center> HTML; } $tpl->set('{cnt}', $wdr); $tpl->compile('content'); $tpl->clear(); ?> malo ima nekih hijeroglifa ali to je zbog ruske cirilice. Ako neko moze da pomogna... Hvala :) |