odinshat / tyre-label-generator
PHP 库 Tyre Label Generator,兼容欧盟轮胎标签风格和标准
Requires
- php: >=7.1
Requires (Dev)
- phpmd/phpmd: ^2.9
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.5
This package is auto-updated.
Last update: 2024-09-20 01:01:28 UTC
README
重要
截至2021年5月,欧盟轮胎标签格式正在改变。这是已知的,开发工作将尽可能快地进行以实施这些更改。请随时通过GitHub的问题功能提交任何PR或建议。
非常感谢您的耐心。目前,您可以通过以下链接查看即将到来的更改的详细信息(向下滚动至附件1)。您还可以在docs目录中找到英文文档,我将在稍后日期将所有其他欧盟语言的文档也放在那里。
背景
欧盟从2012年11月1日起实施了轮胎标签。这是一个能够生成欧盟轮胎标签图像和HTML/CSS堆叠图像的PHP库。自2012年以来,欧盟轮胎标签的设计没有变化,因此截至2020年,此库仍然有效。
输出示例
上述内容是通过类中的genHtmlLabel方法生成的(然后截图)
安装
最简单的方法是使用composer要求包
composer require odinshat/tyre-label-generator
然而,您可以根据自己的需求选择两个版本之一。
测试
2.0+版本是库的PHP7版本,它包含一个完整的测试套件,您可以使用PHPUnit运行它
git clone git@github.com:OdinsHat/tyre-label-generator.git
cd tyre-label-generator
phpunit tests/
您还可以运行composer脚本analyze
和fix
,其中第一个是Psalm(PHP-Stan的强化版),第二个是PHPCSFixer。
用法
类中实现了多个方法,您可以使用最适合您需求的方法。
1. 生成的HTML图像
此方法使用一组大小相同的图像,并使用内联 CSS将它们叠加在一起以创建所需的完整标签类型。这不是推荐的方式,但这是启动起来最简单的方法。
例如:
$tyre = new Tyre('F', 'E', 71, 2); $label = new Label($tyre); echo $label->genHtmlLabel();
生成的HTML将类似于以下内容
<div style="position:relative"> <img src="/images/label/bg.png" alt="EU tyre Label" style="position:relative; z-index:0;" /> <img src="/images/label/fuel_f.png" style="position:absolute;z-index:1" /> <img src="/images/label/wet_e.png" style="position:absolute;z-index:1" /> <img src="/images/label/db_71.png" style="position:absolute;z-index:1" /> <img src="/images/label/sw_2.png" style="position:absolute;z-index:1" /> </div>
2. 生成的HTML/CSS图像
这将要求您将提供的CSS文件tyre-label.css
包含在您的页面中,或者将其样式添加到您自己的样式表中。
$tyre = new Tyre('F', 'E', 71, 2); $label = new Label($tyre, 300, '/imgs'); echo $label->genCssLabel();
<div class="tyre-label-container"> <img src="/images/label/bg.png" alt="EU Tyre Label" class="tyre-label-base" /> <img src="/images/label/fuel_f.png" class="tyre-label-overlay" /> <img src="/images/label/wet_e.png" class="tyre-label-overlay" /> <img src="/images/label/db_71.png" class="tyre-label-overlay" /> <img src="/images/label/sw_2.png" class="tyre-label-overlay" /> </div>
3. 生成的PNG图像
$tyre = new Tyre('F', 'E', 71, 2,280,"images/"); $label = new Label($tyre, 250); $image = $label->genPngLabel(); header('Content-type: image/png'); imagepng($image); imagedestroy($image); die();