Haskell Language
Graphisme avec Gloss
Recherche…
Installation de Gloss
Gloss est facilement installé à l'aide de l'outil Cabal. Après avoir installé Cabal, il est possible de faire passer le cabal install gloss
d'installation de la cabine.
Alternativement, le paquet peut être construit à partir de sources, en téléchargeant le source depuis Hackage ou GitHub , et en procédant comme suit:
- Entrez le répertoire
gloss/gloss-rendering/
etcabal install
- Entrez le répertoire
gloss/gloss/
et encore une foiscabal install
Obtenir quelque chose à l'écran
Dans Gloss, vous pouvez utiliser la fonction d' display
pour créer des graphiques statiques très simples.
Pour l'utiliser, il faut d'abord import Graphics.Gloss
. Ensuite, dans le code, il devrait y avoir ce qui suit:
main :: IO ()
main = display window background drawing
window
est de type Display
qui peut être construite de deux manières:
-- Defines window as an actual window with a given name and size
window = InWindow name (width, height) (0,0)
-- Defines window as a fullscreen window
window = FullScreen
Ici, le dernier argument (0,0)
dans InWindow
marque l'emplacement du coin supérieur gauche.
Pour les versions antérieures à la version 1.11: Dans les anciennes versions de Gloss, FullScreen
prend un autre argument qui correspond à la taille de l'image qui est dessinée et qui est ensuite étendue à la taille plein écran, par exemple: FullScreen (1024,768)
background
est de type Color
. Il définit la couleur d'arrière-plan, c'est aussi simple que:
background = white
Ensuite, nous arrivons au dessin lui-même. Les dessins peuvent être très complexes. Comment spécifier ceux-ci seront couverts ailleurs ([on peut s'y référer pour le moment] [1]), mais cela peut être aussi simple que le cercle suivant avec un rayon de 80:
drawing = Circle 80
Exemple de résumé
Comme plus ou moins indiqué dans la documentation de Hackage, obtenir quelque chose à l'écran est aussi simple que:
import Graphics.Gloss
main :: IO ()
main = display window background drawing
where
window = InWindow "Nice Window" (200, 200) (0, 0)
background = white
drawing = Circle 80