07. november 2006 - 17:06
#7
med tilretning kan du måske bruge nedenstående?
<?
header("Content-type: image/png");
$backgroundfile = "boinc_logo_trans.png";
$backgroundsize = getimagesize($backgroundfile);
mysql_connect("127.0.0.1","root","") or die (mysql_error());
mysql_select_db("eseamembers") or die (mysql_error());
$sql = "SELECT flop FROM ministatsteam WHERE projectid=0 ORDER BY dato DESC LIMIT 1";
$status=mysql_query("$sql") or die (mysql_error());
while ($row = mysql_fetch_array($status)){
$flops = number_format($row['flop']/100, 2, '.', ',');
}
mysql_close() or die (mysql_error());
$fontflops = "verdanab.TTF";
$fontsizeflops = 30;
$angleflops = "0";
$intro = "Help us produce more than";
$fontintro = "verdana.TTF";
$fontsizeintro = 10;
$angleintro = "0";
$flopt = "GigaFLOPS";
$fontflopt = "verdanab.TTF";
$fontsizeflopt = 10;
$angleflopt = "0";
$join = "Join our team";
$im_h = 100;
$im_w = 200;
$size=ImageTTFBBox($fontsizeflops,0,$fontflops,$flops);
$tw=abs($size[4]-$size[0]);
$upper=abs($size[5]);
$under=$size[1];
$th=$upper+$under;
$text_x = ($im_w - $tw) / 2;
$text_y = ($im_h - $th) / 2 + $th;
$sizei=ImageTTFBBox($fontsizeintro,0,$fontintro,$intro);
$twi=abs($sizei[4]-$sizei[0]);
$upperi=abs($sizei[5]);
$underi=$sizei[1];
$thi=$upperi+$underi;
$text_xi = ($im_w - $twi) / 2;
$text_yi = 15;
$sizet=ImageTTFBBox($fontsizeflopt,0,$fontflopt,$flopt);
$twt=abs($sizet[4]-$sizet[0]);
$uppert=abs($sizet[5]);
$undert=$sizet[1];
$tht=$uppert+$undert;
$text_xt = ($im_w - $twt) / 2;
$text_yt = 82;
$sizej=ImageTTFBBox($fontsizeintro,0,$fontintro,$join);
$twj=abs($sizej[4]-$sizej[0]);
$upperj=abs($sizej[5]);
$underj=$sizej[1];
$thj=$upperj+$underj;
$text_xj = ($im_w - $twj) / 2;
$text_yj = 95;
if($im_w<=($tw+20))
$im_w = $tw + 20;
$image = ImageCreate($im_w,$im_h);
$backblue = ImageColorAllocate($image,200,200,255);
$black = ImageColorAllocate($image,0,0,0);
$gray = ImageColorAllocate($image,204,204,204);
$red = ImageColorAllocate($image,0,150,0);
$background_rectangle = ImageColorAllocate($image,255,0,0);
$white = ImageColorAllocate($image,255,255,255);
//imagesetthickness($image,2);
//imageline($imange,5,5,50,50,$background_rectangle);
$background = imagecreatefrompng("$backgroundfile");
imagecopy($image, $background, ($im_w/2)-($backgroundsize[0]/2), ($im_h/2)-($backgroundsize[1]/2), 0, 0, $backgroundsize[0], $backgroundsize[1]);
//vi leger med noget størrelse
ImageTTFText ($image,$fontsizeintro,$angleintro,$text_xi,$text_yi,$black,"$fontintro","$intro");
ImageTTFText ($image,$fontsizeintro,$angleintro,$text_xj,$text_yj,$black,"$fontintro","$join");
ImageTTFText ($image,$fontsizeflopt,$angleflopt,$text_xt,$text_yt,$black,"$fontflopt","$flopt");
ImageTTFText ($image,$fontsizeflops,$angleflops,$text_x-1,$text_y,$white,"$fontflops","$flops");
ImageTTFText ($image,$fontsizeflops,$angleflops,$text_x+1,$text_y,$white,"$fontflops","$flops");
ImageTTFText ($image,$fontsizeflops,$angleflops,$text_x-1,$text_y-1,$white,"$fontflops","$flops");
ImageTTFText ($image,$fontsizeflops,$angleflops,$text_x+1,$text_y-1,$white,"$fontflops","$flops");
ImageTTFText ($image,$fontsizeflops,$angleflops,$text_x-1,$text_y+1,$white,"$fontflops","$flops");
ImageTTFText ($image,$fontsizeflops,$angleflops,$text_x+1,$text_y+1,$white,"$fontflops","$flops");
ImageTTFText ($image,$fontsizeflops,$angleflops,$text_x,$text_y,$red,"$fontflops","$flops");
ImagePNG($image);
ImageDestroy($image);
?>
30. november 2006 - 12:57
#9
http-conf??? ahh, det kan jeg ikke tro er nødvendigt. Det du gør er, at lave to gange imagecopy. Det første er med original-billedet som skal have logoet på. Næste imagecopy er så logoet. Logoet skulle så gerne blive placeret oven på originalen, og du kan placere det hvor du vil have det:
bool imagecopy ( resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h )
kunne eks være:
$im_orig = imagecreatefromjpeg("original_billede.jpg");
$imgsize_orig = getimagesize("original_billede.jpg"); //array der indeholder originalbilledets dimensioner
$im_logo = imagecreatefrompng("logo.png"); //hvis der er gennemsigtig baggrund kan .png bruges som vist, eller .gif med imagecreatefromgif()
$imgsize_logo = getimagesize("logo.png"); //array der indeholder logobilledets dimensioner
$im_new = imagecreatetruecolor($imgsize_orig[0], $imgsize_orig[1]); //dette vil gøre resultatbilledet til samme størrelse som originalbilledet
imagecopy($im_new, $im_orig, 0, 0, 0, 0, $imgsize_orig[0], $imgsize_orig[1]); //originalbilledet placeres ved position 0,0 i det nye billede, og det der kopieres fra original billedet er hele billedet (fra position 0,0 til position bredde,højde)
imagecopy($im_new, $im_logo, 5, 120, 0, 0, $imgsize_logo[0], $imgsize_logo[1]); //logobilledet placeres ved position 5,120 i det nye billede, og det der kopieres fra logo billedet er hele billedet (fra position 0,0 til position bredde,højde)
den sidste kunne også tage højde for originalbilledets dimensioner, og eks. placere logo'et 5 pixels fra venstre kant og 20 pixels fra bunden, som eks:
imagecopy($im_new, $im_logo, 5, ($imsize_orig[1]-20), 0, 0, $imgsize_logo[0], $imgsize_logo[1]);
osv. ;) Håber det hjalp dig videre