fruit / convas
There is no license information available for the latest version (0.0.4) of this package.
canvas for console
0.0.4
2015-11-02 07:00 UTC
Requires (Dev)
README
This package is part of Fruit Framework.
Convas is a console drawing library. Currently it supports only UTF-8 encoding.
Synopsis
$buf = new Fruit\Convas\Buffer; // create a canvas, origin point is at top-left corner $g = new Fruit\Convas\Graphics($buf); // allocate graphics object to paint on this canvas $g ->transit(2, 3) // move origin to (2, 3) ->drawString(0, 0, 'a string') ->drawString(0, 1, '中文') // convas can handle (most of) CJK and graphical characters ->drawLine(0, 2, 55, 2) // draw a line from (0, 2) to (55, 2) ->drawLine(0, 2, 0, 15) // convas can handle cross point of lines and ellipses ->drawEllipse(2, 5, 55, 20) // draw an ellipse within the square (2, 5) (15, 20) ->setColor(new Fruit\Convas\Color(1, 37, 41)) // set color ->drawString(5, 12, 'highlighted, white text on red background'); echo implode("\n", $buf->exportAll()) . "\n"; $buf->clear(4, 8, 57, 23); // clear the area, take care of the origin point $g->overwrite = true; // enable overwrite mode, color will always in overwrite mode. $g->drawLine(5, 2, 5, 15); // no cross point handling
Wide characters
Convas detect wide characters (characters occupied two cells in console, most are CJK characters) using unicode blocks. Feel free to file an issue if any wide character is missing.
Algorithms, PR Plz!
The algorithms used to draw lines and ellipses are too simple to mark as stable. We need your help!
License
Any version of MIT, GPL or LGPL.