Formes
Formes
Exercice : Librairie de génération de SVG
Dans cet exercice, vous allez créer une librairie de génération de SVG en utilisant PHP et Composer. L'objectif est de développer une application qui permet de générer un canvas avec différentes formes telles que des lignes, des cercles, des rectangles et des polygones. Vous devrez également implémenter deux renderers, l'un pour générer et sauvegarder des fichiers SVG, et l'autre pour des fichiers JPG.
Instructions
- Forkez puis clonez le projet GitHub fourni pour commencer l'exercice. Le projet contient la structure des classes nécessaires ainsi qu'un dossier de tests. (Template à forker)
- Installez le projet en exécutant la commande `composer install´ dans le dossier que vous venez de cloner.
- Implémentez les classes en ajoutant les attributs et les méthodes nécessaires pour passer les tests fournis.
Exemple
Voici un exemple de script qui utilise la librairie que vous devez créer pour dessiner une étoile :
<?php
require_once __DIR__.'/vendor/autoload.php';
use Opmvpc\Formes\Canvas;
use Opmvpc\Formes\Point;
use Opmvpc\Formes\Polygone;
use Opmvpc\Formes\Renderers\JPGRenderer;
$canvas = new Canvas(500, 500, '#00FF00');
$canvas->add(new Polygone([
new Point(250, 0),
new Point(300, 200),
new Point(500, 200),
new Point(350, 300),
new Point(400, 500),
new Point(250, 350),
new Point(100, 500),
new Point(150, 300),
new Point(0, 200),
new Point(200, 200),
], '#FFFF00'));
$renderer = new JPGRenderer($canvas);
$renderer->save(__DIR__.'/etoile.jpg');

Ressources
Exercices complémentaires
- Ajouter les formes manquantes
- Ellipse
- Chemin
- Polyligne
- Écrire votre propre renderer de SVG
