Gå til innhold

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


Anbefalte innlegg

Skrevet

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... :) 
} 

?>

Videoannonse
Annonse
Skrevet

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.

Skrevet

Hei igjen

 

Er det noen som kan hjelpe meg med å få dette bildet under 6kb? Forstod ikke så mye at dithering og hvordan man setter ned farger... :blush:

 

 

Skrevet
Hei igjen

 

Er det noen som kan hjelpe meg med å få dette bildet under 6kb? Forstod ikke så mye at dithering og hvordan man setter ned farger... :blush: 

8845468[/snapback]

Bare og bruke Paint.NET det (google it).

Skrevet

Dere ler sikkert av meg når jeg sier at jeg har en veldig gammel Photoshop.... Mulighetene er litt begrenset med den..

 

Klikk for å se/fjerne innholdet nedenfor
Photoshop 5.0 Limited Edition :tease::cool:
Skrevet (endret)

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
Skrevet (endret)
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
Skrevet
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 :)

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...