add text on top of PNG

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • toffee

    add text on top of PNG

    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
    script.
    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

    T


  • Gordon Burditt

    #2
    Re: add text on top of PNG

    >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
    >script.
    >My question is there an automatic way so that a php script can do all this
    >image editing for me ?
    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.

    Comment

    • Anonymous

      #3
      Re: add text on top of PNG

      toffee wrote:
      >
      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
      script.
      My question is there an automatic way so that a php script can do all this
      image editing for me ?
      >
      i appreciate all replies.
      Sure.

      Check the image functions in the PHP manual, especially the functions
      imagecreatefrom png 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.

      Bye!

      Comment

      • pangea33

        #4
        Re: add text on top of PNG

        Anonymous wrote:
        toffee wrote:

        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
        script.
        My question is there an automatic way so that a php script can do all this
        image editing for me ?

        i appreciate all replies.
        >
        Sure.
        >
        Check the image functions in the PHP manual, especially the functions
        imagecreatefrom png 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.
        >
        Bye!

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

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

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

        // Create some colors
        $white = imagecoloralloc ate($im, 255, 255, 255);
        $grey = imagecoloralloc ate($im, 128, 128, 128);
        $black = imagecoloralloc ate($im, 0, 0, 0);
        imagefilledrect angle($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($i m, 30, 45, 201, 301, $grey, $font, $text);

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

        // Using imagepng() results in clearer text compared with imagejpeg()
        imagepng($im);
        imagedestroy($i m);
        ?>

        Comment

        Working...