Jump to content

displaying image on html page????


digi duck

Recommended Posts

Hi, i have a site (http://gamesigs.co.uk) where people create images with custom text on top. The image that is created goes to it's own php page and has a long url such as:

[code]http://gamesigs.co.uk/creation.php?color=30&name=josh=75&y=200&angle=0&font=10&size=25&select=255,255,255&color_r=255&color_g=255&color_b=255&submit=Create+My+Sig![/code]

This changes depeding on what settings you give the text.

What i would like to do is to show this image on a html page. I cant specify a html header because i need to use a jpeg header. I think what i need to do is to give the url a name which is the same despite the differences in it and then put this name in a <img src> tag. How would this be done?

Another way i thought of was by doing something along these lines:

[code]<img src="http://gamesigs.co.uk/creation.php?<?php echo $_POST['color','name',etc...]?>">  [/code] 

Would this work and how should it look???

Here is the code i've been using:

[code]<?php
header("Content-type: image/jpeg");

$name = stripslashes($_GET['name']);

$size = stripslashes($_GET['size']);

$centre = stripslashes($_GET['centre']);

$font = 'images/sig_maker/fonts/'.stripslashes($_GET['font']).'.ttf';

$fontcolor['r'] = stripslashes($_GET['color_r']); // font color - RED

$fontcolor['g'] = stripslashes($_GET['color_g']); // font color - GREEN

$fontcolor['b'] = stripslashes($_GET['color_b']); // font color - BLUE

$lines = stripslashes($_GET['lines']);

function arrow($im, $x1, $y1, $x2, $y2, $alength, $awidth, $color){
///

}

if(is_numeric($_GET['color']) && $_GET['color'] >= '1' && $_GET['color'] <= '47')
{
    $bgpic = 'images/sig_maker/' . $_GET['color'] . '.jpeg';
}


$im = imagecreatefromjpeg($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.');
}

}
$hpadding = ($image_width - $text_width)/2;
$vpadding = ($image_height/2)+18;

$textcolor = imagecolorresolve($im, $fontcolor['r'], $fontcolor['g'], $fontcolor['b']);
if($centre== 'y'){

imagettftext($im, $size, 0, $hpadding,$vpadding, $textcolor, $font, $name);

}else{

imagettftext($im, $size, $angle, $x, $y, $textcolor, $font, $name);

}

imagegif($im);
imagedestroy($im);
?>[/code]

Thanks for your help
Link to comment
Share on other sites

You're on the right track.

You just assemble the request string depening on $_POST varaibles.

<?php echo $_POST['color','name',etc...]?>

Won't work though.

I'd say something more along the lines of this:

[code]<?php
echo '<img src="http://gamesigs.co.uk/creation.php?color='.$_POST['color'].'&name='.$_POST['name'].'" />';
?>[/code]
Link to comment
Share on other sites

Here's an idea: use an associative array in your form to store img properties and values:

[code]<?php
foreach($_POST['imgprops'] as $prop=>$value){
$uriArr[]= $prop.'='.$value;
}
$uri = 'http://gamesigs.co.uk/creation.php?'.implode('&',$uriArr);
?>
<form id="form1" name="form1" method="post" action="">
  <label>name
  <input type="text" name="imgprops[name]" />
  </label>
  <label>color
  <input type="text" name="imgprops[color]" />
  </label>
  <p>
    <input type="submit" name="Submit" value="Submit" />
  </p>
</form>[/code]

A lot of people don't realize you can use associative arrays for get and post index values.

Get example:
[u][i]?imgprops[color]=blue&imgprops[name]=image1&create=true[/i][/u]

[i]print_r($GET)[/i] now prints:
[quote]Array
(
    [imgprops] => Array
        (
            [color] => blue
            [name] => image1
        )

    [create] => true
)[/quote]
Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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