Page 1 of 1

PHP Images/Position Tool

Posted: Mon Apr 02, 2007 8:02 pm
by serfczar_
Ok, I have just started creating php images, and I found it is a pain in the arse to position things if you have more than one element per image. Does anyone use a tool to help them with php images? I'd like you guys to post your favorite and/or least favorite positioning tools if you would.

Posted: Mon Apr 02, 2007 9:09 pm
by feyd
I'm not sure I follow what you're talking about. Can you explain further?

Posted: Mon Apr 02, 2007 10:08 pm
by serfczar_
The php gd package, lets you create dynamic images using things like a database, the image elements such as rectangles or text have absolute pixel positions. You have to put in these pixel positions manually.

Posted: Mon Apr 02, 2007 11:16 pm
by feyd
What makes you think you have to enter them manually?

Posted: Tue Apr 03, 2007 4:08 pm
by serfczar_
feyd wrote:What makes you think you have to enter them manually?
Here is my code.

Code: Select all

<?php include"include/config.php";
header("Content-type: image/png");
session_start();
$username = $_SESSION['username'];
$password = $_SESSION['password'];
mysql_connect("$dblocation", "$dbuser", "$dbpass") or die(mysql_error());
mysql_select_db("$dbname") or die(mysql_error());
$result = mysql_query("SELECT * FROM $dbtableusers WHERE username='$username' AND password='$password'");
while ($data = mysql_fetch_array($result)){
	$chardata = $data['chardata'];
}
//vars
$chardata = unserialize($chardata);
$power = $chardata[0]['power'];
$defense = $chardata[0]['defense'];
$agility = $chardata[0]['agility'];
$intel = $chardata[0]['intel'];
$life = $chardata[0]['life'];
$maxlife = $chardata[0]['maxlife'];
$level = $chardata[0]['level'];
$currency = $chardata[0]['currency'];
$mana = $chardata[0]['mana'];
$maxmana = $chardata[0]['maxmana'];
//lifebarvars
$life2 = $life/$maxlife;
$fill_length_end = 90;
$fill_length_end *= $life2;
$fill_start_left = 90; //change to move over right
$fill_length_end += $fill_start_left;
$fill_height_start = 28;
$fill_height_end = 33;
$outerstart_y_top = 26;
$outerend_y_bottom = 35;
$outerstart_x_left = 88; //change to move over right
$outerend_x_right = 182; //change to move over right
//manabarvars
$mana2 = $mana/$maxmana;
$mana_fill_length_end = 90;
$mana_fill_length_end *= $mana2;
$mana_fill_start_left = 90; //change to move over right
$mana_fill_length_end += $fill_start_left;
$mana_fill_height_start = 43;
$mana_fill_height_end = 48;
$mana_outerstart_y_top = 41;
$mana_outerend_y_bottom = 50;
$mana_outerstart_x_left = 88; //change to move over right
$mana_outerend_x_right = 182; //change to move over right

//image
$image = imagecreate( 185, 130 );
$white = imagecolorallocate( $image, 255,255,255 );
$black = imagecolorallocate( $image, 0,0,0);
imageString( $image, 5, 10, 9, "$username", $black );
imageString( $image, 4, 90, 9, "Level: $level", $black);
//lifebar
imageString( $image, 3, 10, 24, "HP: $life/$maxlife", $black);
//outerbar
imagerectangle( $image, $outerstart_x_left, $outerstart_y_top, $outerend_x_right, $outerend_y_bottom, $black);
//innerbar
imagefilledrectangle( $image, $fill_start_left, $fill_height_start, $fill_length_end, $fill_height_end, $black);
//lifebarend
//manabar
imageString( $image, 3, 10, 40, "M: $mana/$maxmana", $black);
//outerbar
imagerectangle( $image, $mana_outerstart_x_left, $mana_outerstart_y_top, $mana_outerend_x_right, $mana_outerend_y_bottom, $black);
//innerbar
imagefilledrectangle( $image, $mana_fill_start_left, $mana_fill_height_start, $mana_fill_length_end, $mana_fill_height_end, $black);
//manabarend

imageString( $image, 3, 10, 55, "Str: $power", $black );
imageString( $image, 3, 10, 70, "Dex: $defense", $black );
imageString( $image, 3, 10, 85, "Agil: $agility", $black );
imageString( $image, 3, 10, 100, "Intel: $intel", $black);
imageString( $image, 3, 10, 115, "Kurence: $currency", $black );
imagecolortransparent( $image, $white );
imagepng($image);
?>
The coords are entered manually.