Gå til innhold

Avatartråden v2!Vil du bytte/få ny avatar?Post her


Anbefalte innlegg

Hmm.. lage avatar i PHP..

 

Klikk for å se/fjerne innholdet nedenfor
<?php 
include_once('./includes/avatar_functions.php'); 
$name = stripslashes($_GET['name']); 
$size = stripslashes($_GET['size']); 
$font = 'images/avatar_maker/fonts/'.stripslashes($_GET['font']).'.ttf'; 
$fontcolor = hex_to_rgb(stripslashes($_GET['color'])); // font color 

$shadow = stripslashes($_GET['shadow']); 
$lines = stripslashes($_GET['lines']); 
switch ($_GET['avatar']) { 
case '1': 
$bgpic = 'images/avatar_maker/1.gif'; 
break; 
case '2': 
$bgpic = 'images/avatar_maker/2.gif'; 
break; 
case '3': 
$bgpic = 'images/avatar_maker/3.gif'; 
break; 
case '4': 
$bgpic = 'images/avatar_maker/4.gif'; 
break; 
case '5': 
$bgpic = 'images/avatar_maker/5.gif'; 
break; 
case '6': 
$bgpic = 'images/avatar_maker/6.gif'; 
break; 
case '7': 
$bgpic = 'images/avatar_maker/7.gif'; 
break; 
case '8': 
$bgpic = 'images/avatar_maker/8.gif'; 
break; 
case 'random': 
$num = mt_rand(1, 8); 
if($num == 1){ $bgpic = 'images/avatar_maker/1.gif'; } 
elseif($num == 2){ $bgpic = 'images/avatar_maker/2.gif'; } 
elseif($num == 3){ $bgpic = 'images/avatar_maker/3.gif'; } 
elseif($num == 4){ $bgpic = 'images/avatar_maker/4.gif'; } 
elseif($num == 5){ $bgpic = 'images/avatar_maker/5.gif'; } 
elseif($num == 6){ $bgpic = 'images/avatar_maker/6.gif'; } 
elseif($num == 7){ $bgpic = 'images/avatar_maker/7.gif'; } 
elseif($num == 8){ $bgpic = 'images/avatar_maker/8.gif';} 
break; 
default: 
$num = mt_rand(1, 8); 
if($num == 1){ $bgpic = 'images/avatar_maker/1.gif'; } 
elseif($num == 2){ $bgpic = 'images/avatar_maker/2.gif'; } 
elseif($num == 3){ $bgpic = 'images/avatar_maker/3.gif'; } 
elseif($num == 4){ $bgpic = 'images/avatar_maker/4.gif'; } 
elseif($num == 5){ $bgpic = 'images/avatar_maker/5.gif'; } 
elseif($num == 6){ $bgpic = 'images/avatar_maker/6.gif'; } 
elseif($num == 7){ $bgpic = 'images/avatar_maker/7.gif'; } 
elseif($num == 8){ $bgpic = 'images/avatar_maker/8.gif';} 
} 


$im = imagecreatefromgif($bgpic); 
//Calculate,  the centre: 
for(;;){ 
list($image_width,  $image_height) = getimagesize($bgpic); 
list($left_x,  ,  $right_x) = imagettfbbox($size,  0,  $font,  $name); 
$text_width = $right_x - $left_x; 
if($image_width > $text_width+5){ 
break; 
} 
$size = $size - .5; 
if($size == 1){ 
die('Script not responding to decreasing font size,  in other words: try using less letters.'); 
} 
} 
$padding = ($image_width - $text_width)/2; 

$textcolor = imagecolorresolve($im,  $fontcolor['r'],  $fontcolor['g'],  $fontcolor['b']); 

$grey = imagecolorallocate($im,  128,  128,  128); 

if($shadow == 'y'){ 
imagettftext($im,  $size,  0,  $padding+1,  77,  $grey,  $font,  $name); 
} 
if($lines == 'y'){ 

//imagettftext($im,  $size,  0,  $padding+1,  77,  $grey,  $font,  $name); 

} 

imagettftext($im,  $size,  0,  $padding,  75,  $textcolor,  $font,  $name); 
if($_GET['dl']){ 
header('Content-Disposition: attachment; filename="avatar.gif"'); 
} 
header("Content-type: image/gif"); 
imagegif($im); 
?>

 

if(!function_exists('imagecreate') || !function_exists('imagettfbbox')){ 

 

Klikk for å se/fjerne innholdet nedenfor
<?php 
////////////////////// 
// 
// Net Avatar Maker 
// version 1.5 
// http://php-net.net/ 
// 1:01 AM 4/28/2005 
// 
////////////////////// 
// 
// decode an HTML hex-code into an array of R, G,  and B values. accepts these formats: (case insensitive) #ffffff,  ffffff,  #fff,  fff 
// 
function hex_to_rgb($hex){ 
// remove '#' 
if(substr($hex, 0, 1) == '#'){ 
$hex = substr($hex, 1); 
} 
// expand short form ('fff') color 
if(strlen($hex) == 3){ 
$hex = substr($hex, 0, 1) . substr($hex, 0, 1) . 
substr($hex, 1, 1) . substr($hex, 1, 1) . 
substr($hex, 2, 1) . substr($hex, 2, 1); 
} 
if(strlen($hex) != 6){ 
fatal_error('Error: Invalid color "'.$hex.'"'); 
} 
// convert 
$rgb['red'] = hexdec(substr($hex, 0, 2)); 
$rgb['green'] = hexdec(substr($hex, 2, 2)); 
$rgb['blue'] = hexdec(substr($hex, 4, 2)); 
return $rgb; 
} 
//### 

function arrow($im,  $x1,  $y1,  $x2,  $y2,  $alength,  $awidth,  $color){ 
/// later on... :) 
} 

function add_border($im,  $width,  $pattern,  $style){ 
/// later on... :) 
} 

?>

Lenke til kommentar
Videoannonse
Annonse

Koden virker sikkert, men den var ikke bra skrevet! (den øverste).

Breaks, og mange forskjellige IFs er ikke bra.

 

Istedet for

 if($num == 1){ $bgpic = 'images/avatar_maker/1.gif'; }
elseif($num == 2){ $bgpic = 'images/avatar_maker/2.gif'; }
elseif($num == 3){ $bgpic = 'images/avatar_maker/3.gif'; }
elseif($num == 4){ $bgpic = 'images/avatar_maker/4.gif'; }
elseif($num == 5){ $bgpic = 'images/avatar_maker/5.gif'; }
elseif($num == 6){ $bgpic = 'images/avatar_maker/6.gif'; }
elseif($num == 7){ $bgpic = 'images/avatar_maker/7.gif'; }
elseif($num == 8){ $bgpic = 'images/avatar_maker/8.gif';} 

Kunne man brukt

$bgpic = "images/avatar_maker/" . $num . ".gif";

eller noe lignende. Så slepper man å måtte legge til slik nedover for hver fil.

 

Spør Ståle her på forumet. Som du ser skifter avataren hans hver gang.

Lenke til kommentar

Luchy, begynte på en i går.. men gadd aldri gjøre den ferdig ;)

 

EDIT:

 

Gjorde den ferdig..

 

PHP
<?php

$filetype end(explode(".",$_SERVER['REQUEST_URI']));

if($filetype != "jpg" && $filetype != "png") exit;

if ($handle opendir('.')) {

   while (false !== ($file readdir($handle))) {

       if ($file != "." && $file != ".." && stristr($file".".$filetype)) $files[]=$file;

   }

   closedir($handle);

}

if ($files) {

    $imagenr rand(0sizeof($files)-1);

    if($filetype == "jpg"$filetype "jpeg";

    $fp fopen($files[$imagenr], 'rb');

    header("Content-Type: image/$filetype");

    header("Content-Length: " filesize($files[$imagenr]));

    fpassthru($fp);

    exit;

}

?> 

 

Noe slikt du var ute etter?

Endret av DemoniZer
Lenke til kommentar
Luchy, begynte på en i går.. men gadd aldri gjøre den ferdig ;)

Jeg vet dessverre null og niks om PHP avatar. Alt jeg vet er at jeg har bilder jeg ønsker at min PHP avatar skal innholde.

 

Men takker for all hjelp så langt :)

 

Edit: Ville du kunne lage en til meg hvis jeg ga deg bildene jeg ønsker å ha i avataren?

Endret av Luchy
Lenke til kommentar
Luchy, begynte på en i går.. men gadd aldri gjøre den ferdig ;)

Jeg vet dessverre null og niks om PHP avatar. Alt jeg vet er at jeg har bilder jeg ønsker at min PHP avatar skal innholde.

 

Men takker for all hjelp så langt :)

 

Edit: Ville du kunne lage en til meg hvis jeg ga deg bildene jeg ønsker å ha i avataren?

8851148[/snapback]

 

Give it to me baby :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...