Bonjour,
Mon petit programme dessine ça
Je souhaite remplacer la couleur du fond par une image et dessiner dessus mais je ne trouve pas de renseignement à ce sujet. pourrait-on m'aider ?
Merci d'avance, Vasilpapa
Bonjour,
Mon petit programme dessine ça
Je souhaite remplacer la couleur du fond par une image et dessiner dessus mais je ne trouve pas de renseignement à ce sujet. pourrait-on m'aider ?
Merci d'avance, Vasilpapa
Si tu utilises toujours Gloss, tu peux simplement créer une Picture avec Graphics.Gloss.Data.Bitmap.loadBMP avant de dessiner dessus. As-tu rencontré un problème avec cette approche ?
--
Jedaï
Non, j'ai essayé exemple gloss bitmap.hs, mais il n'est pas clair comment indiquer le nom du fichier xxx.bmp.
Merci pour le conseil, voici le résultat :
Et voici le code
Tous mes petits programmes de graphisme qui peuvent intéresser les débutants sont visibles sur http://haskellaskvasil.wordpress.com
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 [import Data.Monoid import System.IO import System.Random import Graphics.Gloss main = do u <- prompt "Generateur de X" v <- prompt "Generateur de Y <> de X" z <- prompt "Generateur de R" let g = mkStdGen u let [s] = take 1 (randomStuff g) let h = mkStdGen v let [t] = take 1 (randomStuff h) let a = mkStdGen z let [b] = take 1 (randomStuff a) let k = zip3 s t b floor <- loadBMP "Ciel.bmp" display (InWindow "Dark Chaos" -- window title (300, 300) -- window size (10, 10)) -- window position violet -- background color (floor <> picture k) -- picture to display prompt :: String -> IO Int prompt s = do putStrLn s readLn randomStuff :: RandomGen f => f -> [[Float]] randomStuff f = work (randomRs ( 0.0, 7.0) f) work :: [Float] -> [[Float]] work (r:rs) = let n = truncate (r * 7.0) (xs,ys) = splitAt n rs in xs : work ys picture p = pictures [ (translate (x * 25 - 130 + w/1.44) (y * 15 - 60 - w/1.44) (color (myColor(w*15/d)) (circle (w*2)))) | (x, y, d) <- p, w <- [ 1, 1.25.. 50 ], w < (d * 4) ] myColor n = makeColor8 (255-round(5*n)) (255-round(5*n)) 0 255
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager