Page 1 of 2

Garder ce que je dessine

Posted: Fri May 13, 2016 9:12 am
by sinisrus
Bonjour,

Je n'arrive pas a comprendre pourquoi ce que je dessine n'est pas sur le BGPic???
y a t-il une fonction pour récupérer le dessin même autre part que le bgpic??

/* TEST */

Function p_Move()

If IsLeftMouse()

If (EndX<>1)&(EndY<>1)
StartX=EndX
StartY=EndY
Else
StartX=MouseX()
StartY=MouseY()
EndIf

EndX=MouseX()
EndY=MouseY()
Line(StartX,StartY,EndX,EndY,#WHITE,1)

Else If IsRightMouse()

Cls()

Else

EndX=1
EndY=1

EndIf

EndIf


EndFunction

/********************************************************************************************************/

Createbrush(0,100,50,#BLUE) DisplayBrush(0,0,0) TextOut(2,25,"Enable Layer")

MakeButton(1,#SIMPLEBUTTON,0,0,100,50,{OnMouseUp = Function() CopyBgpic(1,2) DisplayBGPic(2) endfunction})

/********************************************************************************************************/

SetInterval(1, p_Move, 1000/150) ; 50fps

/********************************************************************************************************/

/* Loop */
Repeat
WaitEvent
Forever

Re: Garder ce que je dessine

Posted: Fri May 13, 2016 5:46 pm
by ArtBlink
tu l'as mis ou ton createbgpic(1,Xlargeur,yhauteur)?

tu peu pas copier bg1 dans bg2 si bg1 n'existe pas

Un fois créé tu fais

selectbgpic(1)

une fois que t'appuie sur ton bouton

EndSelect()

Re: Garder ce que je dessine

Posted: Fri May 13, 2016 11:15 pm
by sinisrus
OK merci poulet je vais voir ça.

Donc si je ne fait pas de "selectXXX" avant je dessine dans le vent?

Re: Garder ce que je dessine

Posted: Sat May 14, 2016 12:11 pm
by ArtBlink
Oui, c'est comme les calques/brush/sprite/bgpic

Voilà comment je fonctionne avec hollywood

Je créé une brosse vierge ou bgpic ou autre de la taille de l'écran (ce que tu dois faire avec createbgpic)

Exemple, tu veux dessiner sur un écran de 800x600

createbgpic(1,800,600)

Elle est en mémoire et considère la comme un écran cacher

Si tu veux dessiner dans la bgpic 1, tu dois la sélectionner, comme par exemple tu dois sélectionner ton écran si tu branche 2 moniteurs sur ton amiga sur 2 sortie vidéo

Une fois sélectionner, tu y mets ce que tu veux, ou plutôt, tu y affiche ce que tu veux

Pour l'afficher, je crois que tu est obliger de la déselectionner, mais j'en suis pas sûr, jamais essayé.

Puis tu n'a plus qu'a demandé à ce que ton bgpic soit affiché au coordonnée X=0 et Y=0 sur ton écran ;-)

La technique de scroll est identitique, sauf que tu créé un ecran plus grand que la résolution réelle et tu affiche qu'une partie, la partie qui correspond à ta résolution d'écran

Pour info, avec cette technique, le CLS ne sert strictement à RIEN et te fais gagner un peu de temps CPU/GFX ;-)

Je n'ai pas encore essayer pour les sons, mais je pense que c'est aussi possible

Re: Garder ce que je dessine

Posted: Sat May 14, 2016 12:15 pm
by sinisrus
ça marche pas je doit activer les layers et ça me pose un problème bon du coup j'aimerai faire ça dans une brosse tu peux voir comment faire?

Re: Garder ce que je dessine

Posted: Sat May 14, 2016 12:21 pm
by ArtBlink
Yes,
function tafonction()
Createbrush(1,Xrésolution,Yrésolution)
Selectbrush(1)
code dessin
EndSelect()
displaybrush(1,0,0)
endfunction()

Essai ça pour l'instant, je suis devant un PC

Re: Garder ce que je dessine

Posted: Sat May 14, 2016 5:58 pm
by sinisrus
Fais un test avec mon code en haut, tu véra ça ne marche pas, enfin peut être que je m'y prend mal

Re: Garder ce que je dessine

Posted: Sun May 15, 2016 10:50 am
by ArtBlink
J'ai essayé en sélectionnant le bgpic(1) tracer et endselect... Ca rame beaucoup trop

La combine la moins "gourmande" c'est de dessiner sur l'écran, de faire savesnapshot("ram:ecran")

Et le recharger

C'est pas top, mais la différence entre bgpic/brush/sprite est un peu obscure, j'ai l'impression que le bgpic n'est qu'une autre façon de gérer les brush

Je continue de zieuter

PS: Ok, en fait bgpic n'est autre qu'une brush de la taille de l'écran qui se redimensionne automatiquement quand on modifi la taille de l'écran ou de la fenêtre

C'est pourrie en fait, classe pour des présentation et des menu ou des utilitaires, mais pour le logiciel de dessin, c'est trop bof

utilise savesnapshot("chemin") pour le moment

Re: Garder ce que je dessine

Posted: Sun May 15, 2016 11:22 am
by ArtBlink
Frjude t'a donnée une combine avec les brush

En fait tu ne dessine pas a l'écran mais dans une brush en mémoire que tu affiche ensuite

ATTENTION, le undo/redo ne fonctionne qu'avec les calques (de mémoire) donc, tu devra jouer avec plusieurs brush pour annuler/refaire

Re: Garder ce que je dessine

Posted: Sun May 15, 2016 11:50 am
by sinisrus
Le truc c'est que quand je séléctionne une brosse pour déssiner dessus je ne vois plus ce que je déssine :-(