Add the library to your composer.json
file in your project:
{
"require": {
"fidelize/flowchart-to-png": "1.0.0"
}
}
Use composer to install the library:
$ php composer.phar install
Composer will install flowchart-to-png inside your vendor folder. Then you can add the following to your .php files to use the library with Autoloading.
require_once(__DIR__ . '/vendor/autoload.php');
$json = '{
"nodes": [
{
"id": "flowchartStart",
"type": "start",
"text": "Start",
"left": "20px",
"top": "180px",
"countSource": null
},
{
"id": "flowchartEnd",
"type": "end",
"text": "End",
"left": "940px",
"top": "180px",
"countSource": null
},
{
"id": "flowchartWindow1489779664638",
"type": "action",
"text": "Approve",
"left": "680px",
"top": "260px",
"action": "Approve",
"extraParams": "",
"countSource": "1"
},
{
"id": "flowchartWindow1489779672763",
"type": "action",
"text": "Reject",
"left": "620px",
"top": "40px",
"action": "Reject",
"extraParams": "",
"countSource": "1"
}
],
"edges": [
{
"source": "flowchartStart",
"target": "flowchartWindow1489779664638",
"data": {
"label": "",
"positionSource": "RightMiddle",
"positionTarget": "LeftMiddle"
}
},
{
"source": "flowchartStart",
"target": "flowchartWindow1489779672763",
"data": {
"label": "",
"positionSource": "RightMiddle",
"positionTarget": "LeftMiddle"
}
},
{
"source": "flowchartWindow1489779672763",
"target": "flowchartEnd",
"data": {
"label": "Success",
"return": "success",
"positionSource": "RightMiddle",
"positionTarget": "LeftMiddle"
}
},
{
"source": "flowchartWindow1489779664638",
"target": "flowchartEnd",
"data": {
"label": "Success",
"return": "success",
"positionSource": "RightMiddle",
"positionTarget": "LeftMiddle"
}
}
]
}';
$flowChartImage = new FlowChartImage();
$flowChartImage->setContent($json);
$flowChartImage->generate()->toPng($path);
$image->setSelectedAction('flowchartWindow1489779664638');
$image->setSelectedColor([255, 0, 0]);