Jump to content

[SOLVED] Image generation: Adding a static image within my dynamic image


slapdashgrim

Recommended Posts

is  there a way to add a static image like

1.png

into my dynamic image that pulls a users info from a database?

like this

sig.php?id=2

to the left of rank i want to put the image that signifys a rank.

 

any help would be aprecheated.

src code for my image

<?php

Header('Content-type: image/png');
Header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
Header('Expires: Thu, 19 Nov 1981 08:52:00 GMT');
Header('Pragma: no-cache');

//mysql
if ($dbc = @mysql_connect ('grimhqco.dot5hostingmysql.com','grimhq','pass')) {



                        mysql_select_db('grimhqco_roster');

                        //query
                        $query = "SELECT player_name, player_id, player_rank, player_activity FROM roster_players";

                            if ($r = mysql_query ($query)) {
                            while ($row = mysql_fetch_array ($r)) {
                                  if ($row['player_id'] == $_GET['id']){
                            $name = $row['player_name'];
                            $rank1 = $row['player_rank'];
                            $activity = $row['player_activity'];
                                  }
                            }
                            }

                         mysql_close();
                         }

//  get rank
if ($rank1 == 1) {
$rank ="Generaal";
}
if ($rank1 == 2) {
$rank ="Luitenant-Generaal";
}
if ($rank1 == 3) {
$rank ="Generaal-Majoor";
}
if ($rank1 == 4) {
$rank ="Brigade-Generaal";
}
if ($rank1 == 5) {
$rank ="Kolonel";
}
if ($rank1 == 6) {
$rank ="Luitenant-Kolonel";
}
if ($rank1 == 7) {
$rank ="Majoor";
}
if ($rank1 ==  {
$rank ="Eerste-Luitenant";
}
if ($rank1 == 9) {
$rank ="Tweede-Luitenant";
}
if ($rank1 == 10) {
$rank ="Waandrig";
}
if ($rank1 == 11) {
$rank ="Kapelmeester";
}
if ($rank1 == 12) {
$rank ="Sergeant-Majoor";
}
if ($rank1 == 13) {
$rank ="Sergeant der 1e klasse";
}
if ($rank1 == 14) {
$rank ="Sergeant";
}
if ($rank1 == 15) {
$rank ="Korporaal der 1e klasse";
}
if ($rank1 == 16) {
$rank ="Korporaal";
}
if ($rank1 == 17) {
$rank ="Soldaat der 1e klasse";
}
if ($rank1 == 18) {
$rank ="Soldaat";
}
//end get rank

//get active
if ($activity == 1){
$active = "In-active";
}
if ($activity == 2){
$active = "Game activity";
}
if ($activity == 3){
$active = "Forum activity";
}
if ($activity == 4){
$active = "Full activity";
}
if ($activity == 5){
$active = "LOA";
}
//end get active
$sig_info = "Rank = $rank,  Activity = $active";

// define sig dimentions
$img_width = 555;
$img_height = 250;

// define background image (must match dimentions and must be png)
$bgimage = imagecreatefrompng("bg.png");
$rankimg = imagecreatefrompng("ranks/$rank1.png");

// define text color
$textcolor = imagecolorallocate ($bgimage, 255, 255, 255); // image, red, green, blue -- $bgimage, 255, 255, 255 would create white

// output sig
imagefilledrectangle($rankimg, 75, 100, 149, 160, $textcolor);
imagestring($bgimage, 5, 86, 50, $name, $textcolor);
imagestring($bgimage, 3, 149, 100, $sig_info, $textcolor);// image, text size, x pos, y pos, color

imagepng($bgimage);
imagedestroy($bgimage);

?>

 

by the way i know the checking of the rank is not the way i should do it but i wrote this script along time ago.

i will fix it if can find a way to put rank images within my image.

 

Thankyou.

okay this is the first time i have posted a topic on this website and not gotten any replies.

 

i would really appreciate help if anyone knows how to add an image with in an image.

 

if anyone even knows a function that i could look up that might work i would be grateful.

PHP.net has a huge list of GD function you might want to look at: http://www.php.net/manual/en/ref.image.php

 

I believe one function you'll want to look at is the imagecopymerge() funcion

http://www.php.net/manual/en/function.imagecopymerge.php

lol, umm, you could try absolute positioning possibly but that would require changing a few things about your display. If you use the bgimage as a table background than put the rank pic in the table normally and then use a div or something to put it where you want you could get some decent results.

lol, umm, you could try absolute positioning possibly but that would require changing a few things about your display. If you use the bgimage as a table background than put the rank pic in the table normally and then use a div or something to put it where you want you could get some decent results.

well im not doing this in html its in PHP.

i cant have divs in a image.

thankyou tho.

 

and i will look up that GD function ty

Well you beat me to it. I have some code to show you. I'm not sure if you wanted the second image to be so light but here's my version. The image has 100% opacity. One thing too, is since you're using PNG files you might want to change the white background of the second image to an alpha then use the imagealphablending function:

 

Preview -> http://astuckpixel.com/subs/dev/merge/merge.php

 

<?php

header("Content-type: image/png");

// Main Image (550x250)
$dest = imagecreatefrompng("sig.png");

// OverLay Image (60x74)
$src = imagecreatefrompng("1.png");
//imagealphablending($src, true);

// Copy and merge
imagecopymerge($dest, $src, 75, 100, 0, 0, 60, 75, 100);

// Output and free free from memory
imagepng($dest);

imagedestroy($dest);
imagedestroy($src);

?>

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.