Page 1 sur 1
Créé une image a partir de sprite, sans screen ? [Résolu]
Publié : lun. 02/avr./2007 16:05
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
Publié : lun. 02/avr./2007 21:54
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.
Publié : lun. 02/avr./2007 22:26
par scaraber
ok merci bien je vai regarder sa de plus pret
a+
Scaraber
Publié : mar. 03/avr./2007 15:16
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
Publié : mer. 04/avr./2007 12:15
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)
Publié : jeu. 05/avr./2007 7:14
par scaraber
Salut,
Merci bien de ton aide sa maarche impec
a+
Scaraber