Need help with image-with-text?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

129 Stars 36 Forks MIT License 9 Commits 9 Opened issues


Create images with embedded text using advanced typography

Services available


Need anything else?

Contributors list

No Data

Image with Text

This class makes it super easy to render images with multiple, independently styled text blocks. You can control each text block's alignment, color, font, line height, and size. You may also position each text block with specific X and Y coordinates relative to the source image.


Install this library with Composer. Add this to your

    "require": {
        "nmcteam/image-with-text": "~2.0"

Then run

composer install


Here's a quick demonstration. You can find this full working demo in the

// Create image
$image = new \NMC\ImageWithText\Image(dirname(FILE) . '/source.jpg');

// Add styled text to image $text1 = new \NMC\ImageWithText\Text('Thanks for using our image text PHP library!', 3, 25); $text1->align = 'left'; $text1->color = 'FFFFFF'; $text1->font = dirname(FILE) . '/Ubuntu-Medium.ttf'; $text1->lineHeight = 36; $text1->size = 24; $text1->startX = 40; $text1->startY = 40; $image->addText($text1);

// Add another styled text to image $text2 = new \NMC\ImageWithText\Text('No, really, thanks!', 1, 30); $text2->align = 'left'; $text2->color = '000000'; $text2->font = dirname(FILE) . '/Ubuntu-Medium.ttf'; $text2->lineHeight = 20; $text2->size = 14; $text2->startX = 40; $text2->startY = 140; $image->addText($text2);

// Render image $image->render(dirname(FILE) . '/destination.jpg');

How to Contribute

  • Fork the repo on GitHub and send a pull request
  • Find a list of TODOs on the GitHub issue tracker

We have not written any unit tests just yet, but we hope to do that soon.


Josh Lockhart


(c) 2013 New Media Campaigns



We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.