Hey guys, I have a problem, maybe someone could help me?
Willing to don8 if anyone helps me resolve this
Anyways,
What I'm basically trying to do is upload the top portion of this signature, and add LS stats to it.
The problem is, the quality gets absolutely destroyed when I'm uploading it. It comes out looking like this:
Do I need to add in extra code to fix the quality issue, or what?
The text, functions, etc. work properly, but the quality just gets absolutely destroyed for some reason. Here's my code if someone wouldn't mind taking a look at it (Lots commented out, because it's pointless atm).
Code
<?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');
/******************************************************
* BASICS *
******************************************************/
// set some dimensions for future use
//$expbar_width = 100;
//$expbar_height = 25;
// create the image from a background jpg
$image = imagecreatefrompng('top.png');
// set some colours for future use
$cool = imagecolorallocate($image, 81, 86, 96);
$lightgreen = imagecolorallocate($image, 200, 206, 171);
$red = imagecolorallocate($image, 255, 0, 0);
$yellow = imagecolorallocate($image, 255, 181, 53);
// set the background colour
// number or is top left pixel x, top left pixel y, bottom right pixel x, bottom right pixel y
// set the font and print text
$font = '/Desig.TTF';
/******************************************************
* LOAD DATA *
******************************************************/
// Create an array for determining the class you play.
// In the XML this is saved as an int number, the conversion is shown below.
$class_name = array( -1 => 'None',
0 => 'Fighter',
1 => 'Barbarian',
2 => 'Rogue',
3 => 'Magician',
4 => 'Guardian',
5 => 'Samurai',
6 => 'Paladin',
7 => 'Monk',
8 => 'Ninja',
9 => 'Warlock',
10 => 'Headhunter',
11=> 'Alchemist');
// load xml data in vars
// This is where you load your own info from the xml d2jsp gives. This is a PHP5 only command!
$data = simplexml_load_file('http://ladderslasher.d2jsp.org/xmlChar.php?i=281795');
$name = $data->name;
$kills = $data->kills;
$class = $class_name[(int)$data->classid];
$exp = $data->exp;
$level = $data->level;
$hpmax = $data->hpmax;
$mqpasses = $data->mqpasses;
$mqattempts = $data->mqattempts;
$exp = (int)$exp;
$percent = calcExpPercent($exp);
$brpixelX = calcBrPixelX($exp,$expbar_width);
// Create an expbar with bg 'cool' color and the cover of your level in red.
//imagefilledrectangle($image, 180, 59, 280, 71, $cool);
//imagefilledrectangle($image, 180, 59, $brpixelX, 71, $red);
/******************************************************
* TEXT PART *
******************************************************/
//Example; ImageTTFText ($image, textsize, angle, right indent, down indent, color, font, "text");
// EXP bar text
//ImageTTFText ($image, 9, 0, 10, 40, $lightgreen, $font, "To Level: ");
//ImageTTFText ($image, 9, 0, 10, 50, $yellow, $font, $percent."%");
//show name
//ImageTTFText ($image, 9, 0, 122, 33, $yellow, $font, "HC Name: ");
//ImageTTFText ($image, 9, 0, 180, 33, $red, $font, $name);
//show class
//ImageTTFText ($image, 9, 0, 280, 33, $yellow, $font, "Class: ");
//ImageTTFText ($image, 9, 0, 320, 33, $red, $font, $class);
// show lvl
//ImageTTFText ($image, 9, 0, 122, 45, $yellow, $font, "Level: ");
//ImageTTFText ($image, 9, 0, 162, 45, $red, $font, $level);
//show experience
//ImageTTFText ($image, 9, 0, 180, 45, $yellow, $font, "Experience: ");
//ImageTTFText ($image, 9, 0, 250, 45, $red, $font, $exp);
// show kills
//ImageTTFText ($image, 9, 0, 312, 45, $yellow, $font, "Kills: ");
//ImageTTFText ($image, 9, 0, 352, 45, $red, $font, $kills);
// Show HP max
//ImageTTFText ($image, 9, 0, 122, 57, $yellow, $font, "HP: ");
//ImageTTFText ($image, 9, 0, 145, 57, $red, $font, $hpmax);
// SHow MQ passen and attempts
//ImageTTFText ($image, 9, 0, 242, 57, $yellow, $font, "MQ passes/attempts: ");
//ImageTTFText ($image, 9, 0, 357, 57, $red, $font, $mqpasses."/".$mqattempts);
// output and destroy
imagepng($image);
//imagedestroy($image);
/******************************************************
* FUNCTIONS *
******************************************************/
/***
* calculate the exp bar width.
***/
function calcBrPixelX($input,$xpbar_width)
{
$temp1 = fmod($input,1000000);
$temp1 = ($temp1/1000000);
$temp1 = $temp1 * $xpbar_width;
$temp1 = $temp1 + 180;
return (int)$temp1;
}
/***
* Calculate the percentage of level done
***/
function calcExpPercent($input)
{
$temp1 = fmod($input,1000000);
$temp1 = ($temp1/1000000);
$temp1 = $temp1 * 100;
return (int)$temp1;
}
?>