add text on top of PNG

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View
Hi all,

not sure if this is possible in PHP - every couple of weeks; i get a few png
files; which i th open in an image editor; add a text box with comments in
the top right corner; save the pngs and save them for later use by a php
My question is there an automatic way so that a php script can do all this
image editing for me ?

i appreciate all replies.

kind regards


Re: add text on top of PNG

Quoted text here. Click to load it

I believe that the netpbm package can do the image editing you want,
given a PNG image of a certain size and text you want in the corner.
A shell script certainly could.  If you invoke the shell script via
PHP exec(), you could do it.  PHP can also handle things like
uploading the image files and the text.

Re: add text on top of PNG

toffee wrote:
Quoted text here. Click to load it


Check the image functions in the PHP manual, especially the functions
imagecreatefrompng to load a png image, imagestring (or imagepstext or
imagettftext if you want Postscript Type 1 or Truetype fonts) to write
your text into it and imagepng to output it again in png format.


Re: add text on top of PNG

Anonymous wrote:
Quoted text here. Click to load it

With a little practice it's not too tough to do this dynamically. Here
are the most useful php functions to get started with...

Here's a simple example so you can get an idea of what is involved....

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

// Create the image
$im = ImageCreateFrompng("images/myImg.png");

// Create some colors
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 10, 5, 450, 80, $white);

// The text to draw
$text = 'Dynamic Text';
// Replace path by your own font path
$font = 'fonts/arial.ttf';

// Add some shadow to the text
//imagettftext($im, 30, 45, 201, 301, $grey, $font, $text);

// Add the text
imagettftext($im, 15, 10, 410, 70, $grey, $font, $text);

// Using imagepng() results in clearer text compared with imagejpeg()

Site Timeline