FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Un petit "coucou" à tous les Panoramiciens !
par Yannick Aujourd'hui à 23:06

» mise a jour calculatrice
par joeeee2017 Aujourd'hui à 22:44

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Aujourd'hui à 16:52

» KGF_dll - nouvelles versions
par Klaus Aujourd'hui à 14:16

» Compilateur FBPano
par Ouf_ca_passe Aujourd'hui à 12:25

» double guillemets "" dans un EDIT
par Marc Hier à 23:43

» Documentation de KGF
par Klaus Lun 20 Nov 2017 - 22:52

» Zoom sur une portion d'écran
par JL35 Lun 20 Nov 2017 - 21:51

» Recherche d'une expression dans un source
par Marc Lun 20 Nov 2017 - 13:08

» Tracer une grille n'importe où sur l'écran
par JL35 Dim 19 Nov 2017 - 22:14

» TourD Version 2
par Klaus Sam 18 Nov 2017 - 23:58

» La métamatière et le peuple
par JL35 Ven 17 Nov 2017 - 21:18

» Capture d'une zone de l'écran total
par JL35 Ven 17 Nov 2017 - 18:41

» qui peut résoudre mon prb
par pascal10000 Jeu 16 Nov 2017 - 17:30

» évènements et objets système : listage automatique
par Jean Claude Jeu 16 Nov 2017 - 11:15

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2017
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
27282930   
CalendrierCalendrier

Partagez | 
 

 Double buffer pour picture

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2  Suivant
AuteurMessage
silverman

avatar

Nombre de messages : 471
Age : 45
Localisation : Picardie
Date d'inscription : 19/03/2015

MessageSujet: Double buffer pour picture   Jeu 14 Mai 2015 - 15:47

EDIT:
1) dans le premier code (le feu de bois) il faut presser la barre d'espace pour stabiliser l'image.
2) pour l'autre code (cadran) il faut utiliser les touches + et - du pavé numérique.

Bonjour à tous,

voici une démo pour faire du double buffering, c'est à dire obtenir un affichage sans clignotement.
Code:

'
rem ' Feu-Bois
rem ' code original : jjn4
rem ' ici: http://panoramic.free-boards.net/t629-feu-de-cheminee-impressionniste?highlight=cheminee

' modifié par Silverman pour:
'
' test de double buffering
'
' mai 2015

dim g , i , j , m , k
label fin , dessine

dim tch,oldtch,flip_flop


width 0,800 : height 0,552
' caption 0,"Feu de cheminée impressionniste  (clavier ou clic droit pour arrêter)"
caption 0,"Feu de cheminée impressionniste  (cliquez sur le feu pour arrêter) ---> mode: STANDARD"

' un décor
picture 1 : left 1,1 : top 1,1 : width 1,785 : height 1,510
color 1,236,233,216
2d_target_is 1

2d_pen_color 100,0,0
for i=1 to 50
   2d_line 1,i,800,i
next i

2d_pen_color 150,135,120
for j=1 to 6
   for i=1 to 75
      2d_line 5+int(rnd(3)),i+77*j-25,98+int(rnd(3)),i+77*j-25
      2d_line 685+int(rnd(3)),i+77*j-25,782+int(rnd(3)),i+77*j-25
   next i
next j

' le picture dans lequel on va animer le dessin
picture 2 : left 2,101 : top 2,52 : width 2,585 : height 2,459
on_click 2,fin

' le double_buffer n'est pas directement cliquable, alors on le clone dans
' un picture à qui on affecte l'évènement clic
CLONE_PICTURE(3,2)
on_click 3,fin

' on associe le double_buffer avec le picture qui va être dessiné, ici le picture n°2
INIT_DOUBLE_BUFFER(2)

' dirige les opérations de dessin dans le picture qui va être dessiné
2d_target_is 2


' la boucle d'affichage
hide 3 : show 2 : flip_flop=1 : ' affichage standard par défaut
 repeat

   ' test la barre d'espace
   oldtch=tch
   tch=scancode
   if tch=32
      tch=1
   else
      tch=0
   end_if
   if tch>oldtch
      flip_flop=1-flip_flop
   end_if
  
   '
   gosub dessine
  
   ' choix du type d'affichage
   IF flip_flop=1
      ' AFFICHAGE STANDARD
      if tch=1  :' on répète les commandes suivantes tant que la barre d'espace est appuyé
         hide 3 :' désactive la zone cliquable du double_buffer
         show 2 :' montre le picture dessiné
         caption 0,"Feu de cheminée impressionniste  (cliquez sur le feu pour arrêter) ---> mode: STANDARD"
      end_if
      '
      display :' affiche le dessin
   ELSE
      ' AFFICHAGE AMELIORE
      if tch=1 :' on répète les commandes suivantes tant que la barre d'espace est appuyé
        show 3 :' active la zone cliquable du double_buffer
        hide 2 :' cache le picture dessiné
        caption 0,"Feu de cheminée impressionniste  (cliquez sur le feu pour arrêter) ---> mode: DOUBLE_BUFFER"
      end_if
      '
      DOUBLE_BUFFER(2,0) :' affiche le dessin
   END_IF

until scancode>32
goto fin


END
'
' Les routines
'
sub DOUBLE_BUFFER(picture_source , form_cible)
  2d_image_copy picture_source+5000,0,0,width(picture_source),height(picture_source)
  2d_target_is form_cible
  2d_image_paste picture_source+5000,left(picture_source),top(picture_source)
  '
  2d_target_is picture_source
end_sub


sub INIT_DOUBLE_BUFFER(picture_source)
   hide picture_source
   image picture_source+5000
end_sub


sub CLONE_PICTURE(nouveau_picture,picture_source)
   picture nouveau_picture
   top nouveau_picture,top(picture_source)
   left nouveau_picture,left(picture_source)
   width nouveau_picture,width(picture_source)
   height nouveau_picture,height(picture_source)

end_sub


sub DELETE_DOUBLE_BUFFER(picture_source , form_cible)
   2d_target_is form_cible
   delete picture_source
   delete picture_source+5000
end_sub



dessine:
   2d_pen_width 20
   color 2,0,0,0
   2d_pen_color 205,25,25
   for i=1 to 130
      2d_line 150,i/3+370,450,i/3+330
      2d_line 300+rnd(5),i/2+350,430-rnd(5),i/2+370
   next i
   for i=1 to 30
      2d_line 370+i*2,380+i,470,385
      2d_line 230+i*2,400+i,330,390
   next i
   for j=1 to 7
      m=int(rnd(220)) : k=int(rnd(99))
      for i=1 to 280 step 19
         2d_pen_color 255,255-int(i/2),0
         2d_line 190+m-int(i/5)+int(rnd(3)),i+90,190+m+int(i/5)+int(rnd(3)),i+k+30
      next i
   next j
   2d_pen_color 0,0,0
   2d_rectangle 200,300,201,440 : 2d_rectangle 400,300,401,450
   2d_circle 200,300,10 : 2d_circle 400,300,10
return


fin:
DELETE_DOUBLE_BUFFER(2,0)
terminate

et un test avec un autre code(j'y ai ajouté 3 lignes et en ai remarké 2 pour faire fonctionner le double_buffer) que quelques uns vont surement reconnaitre Very Happy
Code:

    ' code original : ygeronimi
    ' ici : http://panoramic.free-boards.net/t4161-souci-avec-2d_image_paste

    dim sc%,Angl,pict$
    pict$=dir_current$+"\pict.bmp"
    label clic

    height 0,600+38
    width 0,600+16

    Picture 1
    full_space 1
    color 1,0,200,0
    display
    On_Key_down 0,Clic

    image 2
    
    Cadran(1,150,200)


    init_double_buffer(1) :' initialise le double_buffer               <========
    double_buffer(1,0) :' affiche le cadran                            <========
    
'    set_focus 0 :'                                                    <=====

    end

    Clic:
      sc%=scancode
      if sc%=107 : Angl=Angl+0.01 :Move() : end_if
      if sc%=109 : Angl=Angl-0.01 :Move() : end_if
      if sc%=27 : terminate :end_if
      double_buffer(1,0) :' affichage                                  <========
    return

    SUB Cadran(Obj%,Ray%,Ray2%)
      dim_local i%,A,Ang
      dim Cx,Cy,Ax(360),Ay(360),Bx(360),By(360),nbs%
      nbs%=120
    '  reperage du centre de l' objet 2D
      Cx=width(Obj%)/2
      Cy=height(Obj%)/2
      A=(2*acos(-1))/nbs%
    '  marques interieures
      for i%=1 to nbs%
          Ang=A*i%
          Ax(i%)=Cx+(Ray%*cos(Ang))
          Ay(i%)=Cy+(Ray%*sin(Ang))
          display
      next i%
    '  marques exterieures
      for i%=1 to nbs%
          Ang=A*i%
          Bx(i%)=Cx+(Ray2%*cos(Ang))
          By(i%)=Cy+(Ray2%*sin(Ang))
      next i%
    '  tracage du cadran
      2D_Target_is 1
      2D_pen_color 200,200,200
      2D_pen_width 2
      for i%=1 to nbs%
          2D_line Ax(i%),Ay(i%),Bx(i%),By(i%)
      next i%
    '  memorisation du cadran
     2d_image_copy 2,0,0,width(1),height(1) : ' 200,200                
    END_SUB

    SUB Move()
      dim_local Cx,Cy,Mx,My,Nx,Ny,Ray
      Ray=150
      Cx=width(1)/2
      Cy=height(1)/2
      Mx=Cx+Ray
      My=Cy
      Nx=Cx+(Ray*cos(Angl*-1))
      Ny=Cy+(Ray*sin(Angl*-1))
      2d_target_is 1
      2d_image_paste 2,0,0
      2d_pen_color 255,0,0
      2d_pen_width 1
      2d_line Cx,Cy,Mx,My
      2D_LINE Cx,Cy,Nx,Ny
'      set_focus 0 :'                                                  <=====
    END_SUB
    
sub DOUBLE_BUFFER(picture_source , form_cible)
  2d_image_copy picture_source+5000,0,0,width(picture_source),height(picture_source)
  2d_target_is form_cible
  2d_image_paste picture_source+5000,left(picture_source),top(picture_source)
  '
  2d_target_is picture_source
end_sub


sub INIT_DOUBLE_BUFFER(picture_source)
   hide picture_source
   image picture_source+5000
end_sub


sub CLONE_PICTURE(nouveau_picture,picture_source)
   picture nouveau_picture
   top nouveau_picture,top(picture_source)
   left nouveau_picture,left(picture_source)
   width nouveau_picture,width(picture_source)
   height nouveau_picture,height(picture_source)

end_sub


sub DELETE_DOUBLE_BUFFER(picture_source , form_cible)
   2d_target_is form_cible
   delete picture_source
   delete picture_source+5000
end_sub


Dernière édition par silverman le Jeu 14 Mai 2015 - 20:53, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5860
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Double buffer pour picture   Jeu 14 Mai 2015 - 16:20

Pas mal du tout, ça améliore nettement le rendu visuel
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5594
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Double buffer pour picture   Jeu 14 Mai 2015 - 17:57

Bonne astuce, merci pour le partage!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jean Claude

avatar

Nombre de messages : 5062
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Double buffer pour picture   Jeu 14 Mai 2015 - 20:20

Très bonne astuce et bon résultat.

Pour ceux qui ne trouvent pas comment ça fonctionne:
1) dans le premier code (le feu de bois) il faut presser la barre d'espace pour stabiliser l'image.
2) pour l'autre code (cadran) il faut utiliser les touches + et - du pavé numérique.

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
silverman

avatar

Nombre de messages : 471
Age : 45
Localisation : Picardie
Date d'inscription : 19/03/2015

MessageSujet: Re: Double buffer pour picture   Jeu 14 Mai 2015 - 20:55

Merci Jean Claude, en effet c'est un oubli Embarassed

corrigé!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5062
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Double buffer pour picture   Jeu 14 Mai 2015 - 21:15

Rien de grave Very Happy , mais ça peut éviter de se décourager ou d'éplucher le code pour trouver la solution.

Il n'en reste pas moins que c'est super !

A+

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Double buffer pour picture   Mar 9 Juin 2015 - 0:35

Bonsoir,
Je viens d'adapter le système de Silverman pour un programme qui a déjà plus de 2000 lignes, et ça ne fait que commencer, et je dois dire que je suis bleffé par le résultat. Aucun scintillement.

J'aime pas trop intervenir, mais quant je constate une telle amélioration, je me dois de féliciter l'auteur de cette astuce.

Je pense pouvoir dire que celle-ci est incontournable avec Panoramic, car c'est vraiment la solution.

Merci Silverman. sunny
Revenir en haut Aller en bas
Jicehel

avatar

Nombre de messages : 5860
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Double buffer pour picture   Mar 9 Juin 2015 - 8:16

Je suis d'accord avec toi Cosmos70. C'est vrament pratique et simple pour un résultat vraiment plus agréable visuellement
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Double buffer pour picture   Mar 9 Juin 2015 - 8:40

Seulement c'est incompréhensible. Cela semble a un bug de Panoramic.

On écrit sur un picture caché. On met le target sur la form pour copier le picture. OK, mais on a aussi le picture suplémentaire qui lui est dessus, mais on ne le voit pas, celui-ci servant à lire la position de la souris. C'est comme si ce dernier était dessus et invisible. Là je suis étonné.

Si c'est un bug, il faut qu'il reste, ou que Jack trouve la solution, car je pense qu'il ne connait pas la réponse pour le scintillement  lié aux pictures. Il n'a à ma connaissance jamais répondu a une question parlant de ce problème.
Revenir en haut Aller en bas
Jicehel

avatar

Nombre de messages : 5860
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Double buffer pour picture   Mar 9 Juin 2015 - 8:58

C'est juste que tu restes sur le même form et que tu bouges juste la partie que tu en vois (les pictures sont l'une au dessus de l'autre)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Double buffer pour picture   Mar 9 Juin 2015 - 9:17

Moi je reste bloqué sur cette explication.

Le picture suplémentaire est 'full_space', et prend toute la place. Il est donc sur la fenêtre, et il n'est pas à 'HIDE' sinon pour la souris ça ne marche pas. Pourtant c'est la fenêtre 0 qu'on voit.
Est-ce que 2D_TARGET_IS 0 met celle-ci devant le picture?
Revenir en haut Aller en bas
Jicehel

avatar

Nombre de messages : 5860
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Double buffer pour picture   Mar 9 Juin 2015 - 11:16

oui mais il modifie le TOP du picture pour le placer en dehors de la zone visible.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Double buffer pour picture   Mar 9 Juin 2015 - 15:22

Jicehel a écrit:
oui mais il modifie le TOP du picture pour le placer en dehors de la zone visible.

Et bien non! Voici un programme de teste pour être inséré dans le principal. Tu peux voir que le picture 2, le normal, et le picture 3, le miroir, sont tous les deux full_space.
Si tu regardes à la fin la sub: image_copy(), tu remarqueras qu'il n'y a rien d'autre. Cela semble le «2D_TARGET_IS 0», écrit sur 0. A part l'initialisation du picture 3, nul part il intervient, sauf pour prendre les coordonnés de la souris, et pourtant il n'est pas hide, et il prend mouxeX et mouseY sur 3, autrement ça ne marche pas.


Spoiler:
 
Revenir en haut Aller en bas
Invité
Invité



MessageSujet: Re: Double buffer pour picture   Mer 10 Juin 2015 - 16:15

J'ai fait un petit programme pour bien voir comment cela se comporte. Le but n'est pas de voir si il y a du scintillement ou non, de toute façon, tel que le programme est fait, c'est obligatoire d'en voir. Mais j'aimerai que quelqu'un m'explique pourquoi alors que picture 3 est sur la form 0, on voit la copie du picture 2 sur la forme 0

Le picture 3 est bien présent, en bougeant la souris,le positionnement est retransmis à droite. Si on met hide 3, on ne lit pas les coordonnées.

C'est curieux que cela fonctionne, et c'est bien tant-mieux! Mais je ne comprend pas la logique.

Code:

dim decalage_lig%   ,a$ ,b
width 0, 600 : height 0,400 : caption 0,"sortir par <ESC>"

picture 3 : full_space 3 :width 3,200:' copie miroir
picture 2 : full_space 2 :width 2,200: 2d_target_is 2 : print_target_is 2 : font_size 2,20 : font_bold 2
memo 4 : left 4,250 : height 4,height(2)
image 5
' hide 3
teste()
end
' @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

sub teste()
   repeat : until mouse_y_position(2) <50
   dim_local r%,g%,b% , x,y
   repeat
      x = mouse_x_position(3) : y = mouse_y_position(3)
      r% = rnd(255) : g% = rnd(255) : b% = rnd(255) : 2d_fill_color r%,g%,b% : 2d_rectangle 0,0,200,height(2)
      print_locate 2,10 : print r% : print_locate 2,80 : print g% : print_locate 2,200: print b%
      item_add 4,"x="+str$(x)+" y="+str$(y)
      wait 100
      image_copy() :' à mettre en commentaire ou non
   until scancode = 27
end_sub

============================================================
sub image_copy()
   2d_image_copy 5,left(2),top(2),width(2),height(2)
   2d_target_is 0 : 2d_image_paste 5,0,0 : display
   2d_target_is 2 :  hide 2
end_sub
Revenir en haut Aller en bas
Invité
Invité



MessageSujet: Re: Double buffer pour picture   Jeu 11 Juin 2015 - 1:09

Apparemment cela semble normal pour vous.
Étant le seul à ne pas comprendre, je me retire, et heureusement ça marche ainsi.
Sleep
Revenir en haut Aller en bas
Jicehel

avatar

Nombre de messages : 5860
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Double buffer pour picture   Jeu 11 Juin 2015 - 1:33

Ne te retire pas mais attends un peu Silverman pourra te répondre à partir de vendredi soir normalement
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sergeauze

avatar

Nombre de messages : 391
Age : 65
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

MessageSujet: Re: Double buffer pour picture   Jeu 11 Juin 2015 - 15:46

salut
fini le scintillement ?
Bonne nouvelle !
ce code :
http://panoramic.free-boards.net/t1065-ca-clignotte-a-qui-mieux-mieux
J’espérais le voir amélioré
Mais je ne suis pas assez doué pour le faire moi-même
Si ça tente quelqu'un ;je serais curieux de voir ce que ça donne
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://sergeauze.blog-video.tv/
Jicehel

avatar

Nombre de messages : 5860
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Double buffer pour picture   Jeu 11 Juin 2015 - 17:52

Pour répondre à ta question, on part de quel programme: le tient tout en haut ou le dernier posté par Jean-Claude ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sergeauze

avatar

Nombre de messages : 391
Age : 65
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

MessageSujet: Re: Double buffer pour picture   Jeu 11 Juin 2015 - 18:17

salut
avec le programme revu par jean claude je n'ai aucun scintillement chez moi
avec le premier (en haut) çà clignote un max
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://sergeauze.blog-video.tv/
Jean Claude

avatar

Nombre de messages : 5062
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Double buffer pour picture   Jeu 11 Juin 2015 - 18:26

heu... je ne crois pas avoir fait quoique ce soit sur ce post, Sergeause.
Tu veux certainement parler de Silverman ou de Cosmos.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sergeauze

avatar

Nombre de messages : 391
Age : 65
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

MessageSujet: Re: Double buffer pour picture   Jeu 11 Juin 2015 - 18:58

ça remonte à 2010....
j'ai déjà du mal à me souvenir de ce que j'ai mangéà midi ;alors 6 ans après !
Ce que je voulais dire c'est que la version que tu avais recopiée ne produisait aucun
scintillement
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://sergeauze.blog-video.tv/
Jicehel

avatar

Nombre de messages : 5860
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Double buffer pour picture   Jeu 11 Juin 2015 - 19:16

Si tu as recopié le listing de Nardo, le Mar 31 Aoû 2010 - 9:08 ....
C'est vrai que le code d'origine était de Nardo, j'ai regardé le post rapidement et c'est toi qui listait le dernier code, en survolant je ne savais pas s'il avait était modifié ou non par rapport à celui de Nardo... Je lis rapidement rapport à mon environnement de travail Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5062
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Double buffer pour picture   Jeu 11 Juin 2015 - 19:26

Ha ! OK je comprends, c'est ici http://panoramic.free-boards.net/t1065-ca-clignotte-a-qui-mieux-mieux

En fait le code est de Sergeause modifié par Nardo, JC, Klaus, bref pratiquement personne Very Happy
Même Cosmos est intervenu.

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Double buffer pour picture   Jeu 11 Juin 2015 - 19:47

Bon, voici le code modifié:
Code:
' je promene ma souris
 '  escape pour sortir
 dim a,s ,c(100),x ,v  ,d(100)
 width 0 ,1750 : height 0,1200
 picture 2 : width 2 ,1650 : height 2,1100 :  2d_target_is 2 : HIDE 2
 picture 3 : width 3 ,1650 : height 3,1100 : ' clone de 2 pour la souris
 
 image 4
 
 v=1

 for x= 1 to 5
     repeat
         display
         if key_down_code  = 27 then terminate
         if mouse_right_down(3)=0
             display
             c(v)=  mouse_x_position(3) : d(v)=    mouse_y_position(3)  :' la souris est testé sur le clone
             2d_fill_color  rnd(255), rnd(255),rnd (255)
             2d_circle c(v),d(v),5
             copy_image() : ' pour afficher sur la fenête 0
         end_if
     until v=5
     v=v+1
 next x
 
 end
 ===============================
 sub copy_image()
    2d_image_copy 4,left(2),top(2),width(2),height(2)
    2d_target_is 0: 2d_image_paste 4,left(2),top(2) : ' on recopie sur la fenêtre
    2d_target_is 2
 end_sub

Mais je ne comprend toujours pas pouquoi le picture 3, on ne le voit pas.
Revenir en haut Aller en bas
papydall

avatar

Nombre de messages : 5594
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Double buffer pour picture   Jeu 11 Juin 2015 - 23:49

Mais pourquoi faire simple quand on peut faire compliqué ?

Code:

dim x0,y0
full_space 0 : 2d_fill_color 255,0,0
caption 0,"Déplacer la souris .... <CLICK> pour terminer"
picture 10 : full_space 10 : color 10,0,0,0 : 2d_pen_color 255,255, 0
repeat
   x0 = mouse_x_position(10) : y0 = mouse_y_position(10)
   2d_circle x0, y0, mod(x0,15)- mod(y0,15)
until scancode <> 0
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé




MessageSujet: Re: Double buffer pour picture   

Revenir en haut Aller en bas
 
Double buffer pour picture
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» PK K’2 : une clé USB à double connectiques pour appareils Android
» Taille des polices pour Print dans un Picture
» Débit minimum pour double tuner ?
» Resize et compression automatique pour l'envoi par email
» Une bretelle double...

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: