andrewgjohnson/linebreaks4imagettftext

linebreaks4imagettftext is a function to automatically insert line breaks into your text while using PHP's imagettftext function

v1.0.3 2022-11-23 00:25 UTC

This package is auto-updated.

Last update: 2024-03-02 12:52:27 UTC


README

MIT License Current Release GitHub Stars Contributors Packagist Downloads Issues Patreon

Description

linebreaks4imagettftext is a function to automatically insert line breaks into your text while using PHP's imagettftext function.

Patreon - Become a Patron

linebreaks4imagettftext is an agjgd.org project.

Usage

With Composer

This project offers support for the Composer dependency manager. You can find the linebreaks4imagettftext package online on packagist.org.

Install using Composer

Either run this command:

composer require andrewgjohnson/linebreaks4imagettftext

or add this to the require section of your composer.json file:

"andrewgjohnson/linebreaks4imagettftext": "1.*"

Without Composer

To use without Composer add an include to the linebreaks4imagettftext.php source file.

include_once 'source/linebreaks4imagettftext.php';

Example

// You can use \andrewgjohnson\linebreaks4imagettftext() to add line breaks ("\n") to long strings to help format text when using imagettftext()
$string = 'It was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness, it was the epoch of belief, it was the epoch of incredulity, it was the season of Light, it was the season of Darkness, it was the spring of hope, it was the winter of despair, we had everything before us, we had nothing before us, we were all going direct to Heaven, we were all going direct the other way--in short, the period was so far like the present period, that some of its noisiest authorities insisted on its being received, for good or for evil, in the superlative degree of comparison only.';
$stringWithLineBreaks = \andrewgjohnson\linebreaks4imagettftext(20, 0, $font, $string, 200);
echo $stringWithLineBreaks; //"It was the best of times, it was the\nworst of times, it was the age of\nwisdom, it was the age of\nfoolishness, it was the epoch of\nbelief, it was the epoch of\nincredulity, it was the season of\nLight, it was the season of\nDarkness, it was the spring of\nhope, it was the winter of despair,\nwe had everything before us, we\nhad nothing before us, we were all\ngoing direct to Heaven, we were all\ngoing direct the other way--in short,\nthe period was so far like the\npresent period, that some of its\nnoisiest authorities insisted on its\nbeing received, for good or for evil,\nin the superlative degree of\ncomparison only."

// This will work but there will be no line breaks so your text will likely overflow horizontally
imagettftext($im, 20, 0, 0, 0, $color, $font, $string);

// This will work and you will not have to worry about text overflowing
imagettftext($im, 20, 0, 0, 0, $color, $font, $stringWithLineBreaks);

There are other examples included in the GitHub repository and on linebreaks4imagettftext.agjgd.org.

Help Requests

Please post any questions in the discussions area on GitHub if you need help.

If you discover a bug please enter an issue on GitHub. When submitting an issue please use our issue template.

Contributing

Please read our contributing guidelines if you want to contribute.

You can contribute financially by becoming a patron at patreon.com/agjopensource to support linebreaks4imagettftext and other agjgd.org projects.

Patreon - Become a Patron

Acknowledgements

This project was started by Andrew G. Johnson (@andrewgjohnson).

Full list of contributors:

Our security policies and procedures comes via the atomist/samples project. Our issue templates comes via the tensorflow/tensorflow project. Our pull request template comes via the stevemao/github-issue-templates project. The mountains photo comes via Gabriel Garcia Marengo.

Changelog

You can find all notable changes in the changelog.