Aller au contenu
Framework côté serveur

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

  1. 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)
  2. Installez le projet en exécutant la commande `composer install´ dans le dossier que vous venez de cloner.
  3. 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