mwoerlein / vector-graphics
矢量图形对象建模库。
0.2
2015-12-06 07:21 UTC
Requires
- php: >=5.5.0
- zendframework/zendpdf: >=2.0.0,<2.4
Requires (Dev)
- phpunit/phpunit: 4.1.*
This package is auto-updated.
Last update: 2024-09-15 20:01:29 UTC
README
矢量图形库
PHP库,用于矢量图形的对象建模。
目标
此库旨在构建和描述通用的矢量图形,与其应用后端无关。这些描述旨在将图形/图表/...的定义与其表示分离。
图形可以使用其矢量表示功能序列化为各种文档类型。目前支持/计划支持的序列化包括
- 导出为独立的SVG内容
- 序列化为Zend-PDF页面
- 序列化为Imagine图像
安装
要将vector-graphics添加为本地、针对项目的依赖项,只需将mwoerlein/vector-graphics
依赖项添加到项目的composer.json
文件中。以下是一个composer.json
文件的示例
{ "require": { "mwoerlein/vector-graphics": ">0.2" } }
示例用法
以下示例生成一个包含红色圆形内的五角星的svg图像
$graphic = new Graphic();
$graphic->setViewportCorners(-50, -50, 50, 50);
$graphic->addRectangle(-49, -49, 98, 98)->setStrokeWidth(2);
$graphic->addCircle(0, 0, 45)->setFillColor('red', 0.5);
$radius = 40;
$path = new Path($radius * sin(0./5. * pi()), $radius * cos(0./5. * pi()));
$path->lineTo($radius * sin(4./5. * pi()), $radius * cos(4./5. * pi()));
$path->lineTo($radius * sin(8./5. * pi()), $radius * cos(8./5. * pi()));
$path->lineTo($radius * sin(2./5. * pi()), $radius * cos(2./5. * pi()));
$path->lineTo($radius * sin(6./5. * pi()), $radius * cos(6./5. * pi()));
$path->close();
$graphic->addPath($path);
header('Content-Type: image/svg+xml');
echo (new SVGWriter())->toSVG($graphic, 10, 10);
进展
查看变更日志