altermaker/affichage

生成符合官方图形规范的法国环境展示

v1.2 2023-05-23 12:52 UTC

This package is auto-updated.

Last update: 2024-09-23 15:56:22 UTC


README

⚠ 本软件包不是ADEME官方验证的资源

由Altermaker开发的Affichage软件包提供对官方环境展示图形规范的严格实现。此软件包可生成符合ADEME发布的图形规范的视觉环境展示。

安装

使用以下命令安装最新版本

$ composer require altermaker/affichage

基本使用

<?php

use Altermaker\Affichage\Affichage;

// Déclarer l'emplacement de la police d'écriture Roboto (obligatoire) dans votre code
Affichage::setPathToRoboto('assets/css/Roboto-Medium.ttf');

// Générer un affichage pour le score "B"
$affichage = new Affichage();
$affichage->setScoreLetter('B');
$affichage->printLabel();

文档

如环境展示图形规范中详细说明,存在3种展示格式(信件、条形和指数)和6种变体(A1、A2、A3、A4、C和PS)。此软件包涵盖了所有格式和变体,除了“PS”(“仅地球”)变体。

默认配置

默认情况下,生成的展示格式为“条形”,变体为“A3”,其指数为零,字母为E,生成的视觉展示高度为100px。

⚠ 图形规范指出应使用Roboto字体。TrueType格式字体的位置需通过setPathToRoboto()静态方法声明。默认情况下,应用Arial字体或不可用时的默认无衬线字体。

使用Roboto-Medium.ttf文件并声明其位置。

<?php

Affichage::setPathToRoboto('assets/css/Roboto-Medium.ttf');

定义得分

有两种方法可以定义指数或字母形式的得分。

<?php

// La méthode setScoreLetter() accepte une lettre entre A et E
$affichage->setScoreLetter('A');

// La méthode setScoreIndex() accepte une veleur numérique
$affichage->setScoreIndex(1137);

指数不是整数时,总是四舍五入到小数点后一位。

配置视觉展示

可以生成格式为“信件”、“条形”或“指数”的展示。默认情况下,展示格式为“条形”。

<?php

// Paramétrage au format "Lettre"
$affichage->setFormat('letter');

// Paramétrage au format "Réglette"
$affichage->setFormat('range');

// Paramétrage au format "Incide"
$affichage->setFormat('index');

可以生成符合图形规范中定义的任何一种变体的展示。默认情况下,展示格式为“A3”。

<?php

// La méthode setVariant() accepte les valeurs 'a1', 'a2', 'a3', 'a4' et 'c'
$affichage->setVariant('a1');

生成的视觉展示的比例遵循定义的高度。默认高度为100px,但可以进行重新定义。

<?php

// La méthode setLabelHeight() accepte une valeur numérique en px
$affichage->setLabelHeight(180);

获取视觉展示

一旦定义了得分并完成了视觉展示的配置,就可以显示渲染结果。

<?php

// La méthode printLabel() génère le visuel au format HTML
$affichage->printLabel();

如果需要,也可以将生成的HTML内容存储在一个变量中

<?php

$affichage->htmlLabel();

完整示例

以下代码将展示一个高度为200px的视觉展示,按照A1变体的规则,以“信件”格式展示,声明的得分为“A”。

<?php

use Altermaker\Affichage\Affichage;

Affichage::setPathToRoboto('assets/css/Roboto-Medium.ttf');

$affichage = new Affichage();
$affichage->setVariant('a1')->setFormat('letter')->setLabelHeight(200)->setScoreLetter('A')->printLabel();

关于

先决条件

Affichage软件包^1.0与PHP 8.1或更高版本兼容。

支持

Affichage 1.x软件包仅提供有限的bug修复支持。

作者

Altermaker - contact@altermaker.com - https://altermaker.com

许可

Altermaker显示包,MIT许可证 - 有关更多详细信息,请参阅文件LICENSE