Créé une image a partir de sprite, sans screen ? [Résolu]

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
scaraber
Messages : 362
Inscription : ven. 15/juil./2005 17:32

Créé une image a partir de sprite, sans screen ? [Résolu]

Message par scaraber »

Salut

Je suis sur un ptit projet en ce moment et je cherche a créé une image a partir d'un assemblage de sprite, sans passer par un screen(grabsprite() ), qui limite la taille a celle de l'ecran et empeche de créé des image plus grande. j'aurais voulu savoir si quel'un avait une idée comment faire, ou si il est possible de mettre des sprite directement sur une image ?

Merci d'avance de vos reponce
a+
Scaraber
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

regarde la commande UseBuffer(), tu peux afficher tes sprites sur un gros sprite, et ensuite tu enregistres le sprite, tu auras ton image.
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
scaraber
Messages : 362
Inscription : ven. 15/juil./2005 17:32

Message par scaraber »

ok merci bien je vai regarder sa de plus pret
a+
Scaraber
scaraber
Messages : 362
Inscription : ven. 15/juil./2005 17:32

Message par scaraber »

Salut,
J'ai essayer UseBuffer() mais je pence que je ne l'utilise pas comme il faut...
Voici le code qui genere l'image a enregistrer.

Code : Tout sélectionner

  

ClearScreen(RGB(0,0,0))
  
;On créé la map
TransparentSpriteColor(1,RGB(Val(GetGadgetText(#R)),Val(GetGadgetText(#G)),Val(GetGadgetText(#B))))
  For CaseX=0 To X
    For CaseY=0 To Y
      ClipSprite(1,Map(CaseX,CaseY)\CoucheBasseX*16,Map(CaseX,CaseY)\CoucheBasseY*16,16,16)
      DisplayTransparentSprite(1,CaseX*16,CaseY*16)
      ClipSprite(1,Map(CaseX,CaseY)\CoucheHauteX*16,Map(CaseX,CaseY)\CoucheHauteY*16,16,16)
      DisplayTransparentSprite(1,CaseX*16,CaseY*16)
    Next
  Next
  
;On sauvegarde le rendu sous forme d'image
  GrabSprite(2,0,0,(X+1)*16,(Y+1)*16)
  UsePNGImageEncoder()
  SaveSprite(2,Enregistre$,#PB_ImagePlugin_PNG)
  FlipBuffers()

Est-ce que quelqu'un peu m'aider ?
Dois-je utililiser UseBuffer pour le sprite 1 ou pour le 2 ? ou pour les deux ? et a quelle moment placer cette commande ?

Voila tout
Merci d'avance de vos reponces
++
Scaraber
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

Code : Tout sélectionner

;Tu sélectionnes l'affichage sur ton gros sprite
UseBuffer(#MonGrosSprite)  

;Tu affiches tes sprites ici ils seront copiés directement dans ton gros sprite
DisplaySprite(#MesSprites,x,y)

;Quand tu as fini tu reviens à l'affichage sur écran 
UseBuffer(-1)
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
scaraber
Messages : 362
Inscription : ven. 15/juil./2005 17:32

Message par scaraber »

Salut,
Merci bien de ton aide sa maarche impec :D
a+
Scaraber
Répondre