IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Haskell Discussion :

Charger image bmp comme fond de fenêtre display


Sujet :

Haskell

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 113
    Points : 64
    Points
    64
    Par défaut Charger image bmp comme fond de fenêtre display
    Bonjour,
    Mon petit programme dessine ça
    Nom : Dark Chaos.jpg
Affichages : 154
Taille : 18,9 Ko
    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

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    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ï

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 113
    Points : 64
    Points
    64
    Par défaut
    Non, j'ai essayé exemple gloss bitmap.hs, mais il n'est pas clair comment indiquer le nom du fichier xxx.bmp.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 113
    Points : 64
    Points
    64
    Par défaut
    Merci pour le conseil, voici le résultat :
    Nom : Dark Chaos Ciel.jpg
Affichages : 108
Taille : 23,8 Ko
    Et voici le code
    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
    Tous mes petits programmes de graphisme qui peuvent intéresser les débutants sont visibles sur http://haskellaskvasil.wordpress.com

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. charger image bmp
    Par petit chat dans le forum Images
    Réponses: 1
    Dernier message: 03/12/2008, 20h08
  2. [Beamer] Image transparente comme fond de slide
    Par statquant dans le forum Beamer
    Réponses: 3
    Dernier message: 26/09/2007, 17h38
  3. Réponses: 9
    Dernier message: 17/05/2007, 13h20
  4. charger image bmp
    Par nicolovitch dans le forum Windows
    Réponses: 3
    Dernier message: 15/05/2007, 08h57
  5. Réponses: 3
    Dernier message: 07/12/2006, 10h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo