Jump to content

Archived

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

sinfield

Variable Text to PNG

Recommended Posts

I am trying to assign a variable "$fullname" from database, and then output that variable text content to png. The $fullname script works if I echo it to the screen. And the text-to-png part works if I either manually declare the text to be transformed or if I manually declare the value of the $fullname variable (see commented test in code). But if I use two together to dynamically set the value of the $fullname variable, it does not work. Is there something glaring and obvious I am missing?

I know the query is not pretty. The DB schema I am working with is ... bad. But it is what I have to work with right now.

Here's my code:
I was unable to post code, so check it here:
[a href=\"http://bogobug.com/uname_to_png.txt\" target=\"_blank\"]http://bogobug.com/uname_to_png.txt[/a]

Share this post


Link to post
Share on other sites
Ok, I managed to work it out. The script was sending headers to the browser. Since all I need it to do is to output the png to a file, rather than to the browser, I just commented out the header declaration. All is well now.

On to further refinements!

Share this post


Link to post
Share on other sites
If you want tp create them on-the-fly then save this bit in a separate script, say, "imagetext.php"

[code]<?php
$fullname = $_GET['fn'];

// create an image with width 'x', height 'y'
$image = imagecreate(200, 100);

// create a background color and then set it to transparent
$background = imagecolorallocate($image, 255, 255, 255);
ImageColorTransparent($image, $background);
ImageInterlace($image, false);

// set black color for the text
$black = imagecolorallocate($image, 0, 0, 0);

// write the variable string to the image
// the top left of the text is at the position (10, 2)
imagestring($image, 4, 10, 2, $fullname, $black);

// tell the browser what we're sending it
Header('Content-type: image/png');

// output the image as a png
// imagepng($image);
imagepng($image);

// tidy up
imagedestroy($image);
?>[/code]

And in main script, to display the image

[code]echo "<IMG src='imagetext.php?fn=$fullname'>";[/code]

Share this post


Link to post
Share on other sites

×

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.