Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nazmulpcc/texter
Texter helps to write Bangla/English text on image with PHP GD.
https://github.com/nazmulpcc/texter
Last synced: about 1 month ago
JSON representation
Texter helps to write Bangla/English text on image with PHP GD.
- Host: GitHub
- URL: https://github.com/nazmulpcc/texter
- Owner: nazmulpcc
- License: other
- Created: 2017-02-28T18:14:14.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-01-29T16:50:07.000Z (almost 7 years ago)
- Last Synced: 2024-04-24T02:02:41.180Z (7 months ago)
- Language: PHP
- Size: 230 KB
- Stars: 10
- Watchers: 3
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: readme.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Texter
Texter helps to write Bangla/English text on image with PHP GD. It also has featurs like align, maintain lineheight, color settings etc.
## Example
```php
$texter = new nazmulpcc\Texter;
$image = imagecreate(500, 300);
imagecolorallocate($image, 255, 255, 255);
$texter->startFrom(50, 90)->width(400)->on($image)->align('center')->fontSize(30)->color('333333');
$texter->text('আমার সোনার বাংলা, আমি তোমায় ভালবাসি Lorem ipsum dolor sit amet.....')->write();
```
**It will give you something like this:**
![Result](https://i.imgur.com/esw9Msr.jpg "Result")## Installation
You can easily install **Texter** via composer or you can manually download the package and include them in your code.
### Composer
```shell
composer require nazmulpcc/Texter
```### Manual
- Download/Clone this repo.
- Download/Clone [mirazmac/Unicode2Bijoy](https://github.com/mirazmac/Unicode2Bijoy) .
- Include **Texter.php** and **Unicode2Bijoy.php** in your code and you are ready to go.## Documentation
Each method is fairly well documented in the source code. A few important methods:
- **startFrom(x, y):** Set up the co-ordinates from which Texter will start writing.
- **width($w):** Width of the boundary inside which Texter will write text.
- **align($position):** Set the horizontal alignment to left, right or center/centre. Default is left.
- **on($image)** / **image($image):** Set the image on which Texter will write. Image is passed by reference.
- **fontSize($size):** Set the font size. $size can be point or pixel, like ```$texter->fontSize('15pt')``` or ```$texter->fontSize('15px')```. If 'pt' or 'px' is absent, the gd default is used.
- **color($hex):** / **color($red, $green, $blue):** Both hex and RGB are accepted as text color.
- **text($text):** Add text to be written.
- **lineHeight($height):** The line height. $height can be in pixel or as a percentage of the text height.
- **write():** Call this guy to do the job or if you want to start a new line.
All public functions can be chained up. So you can always do things like:
```php
$texter->startFrom(10, 10)
->color(0, 0, 0)
->align('center')
->width(500)
->text('Hellow World')
->write();
```
**Note:** Before you write a piece of text, you must at least set the starting points(**startFrom**), **width**, and **image**.## About Texter
I developed this out of pure frustration that PHP, one of the most widely used coding language doesn't support Bangla because GD can't handle complex fonts. There are room for a lot of improvements which I will try to accomplish gradually. Please contribute if you can.## To-Do
- Add vertical alignment feature.
- Support for Text shadow.
- Add some debugging functions
etc.## License
This project is lincensed under [DBAD](http://www.dbad-license.org) license.