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
» Exemple d'une nouvelle version d'un GRID
par Minibug Mer 16 Jan 2019 - 18:23

» Peut-être un bug de l'éditeur pour Jack
par jjn4 Lun 14 Jan 2019 - 17:45

» Wordpic.2
par jjn4 Sam 12 Jan 2019 - 16:34

» Fichier <-> Datas
par jjn4 Sam 12 Jan 2019 - 16:23

» Version instantanée V 0.9.29i6 du 08/01/2019
par Jack Mer 9 Jan 2019 - 7:50

» Make_Exe avec la version V 0.9.29i6
par Jack Mar 8 Jan 2019 - 20:14

» caret_yb_position
par jjn4 Mar 8 Jan 2019 - 19:34

» Problème avec l'analyseur syntaxique de Panoramic.
par jjn4 Lun 7 Jan 2019 - 14:44

» PanExpress : l'éditeur Panoramic avec création d'objet
par Minibug Dim 6 Jan 2019 - 18:39

» Bonne année 2019
par silverman Sam 5 Jan 2019 - 12:02

» Blocage Editeur
par Minibug Mar 1 Jan 2019 - 15:54

» Un texte clignotant
par JL35 Mar 1 Jan 2019 - 13:50

» Bonnes fêtes de fin d'année !
par JL35 Mar 1 Jan 2019 - 0:04

» ON_CLICK sur HVIEWER
par JL35 Lun 31 Déc 2018 - 16:56

» Logiciel de soutien scolaire.
par Pedro Alvarez Lun 31 Déc 2018 - 7:51

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Janvier 2019
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendrierCalendrier

Partagez | 
 

 Changer un fond d'écran sans visualiser son effacement.

Aller en bas 
AuteurMessage
Pedro Alvarez

avatar

Nombre de messages : 1232
Date d'inscription : 19/01/2014

MessageSujet: Changer un fond d'écran sans visualiser son effacement.   Dim 30 Sep 2018 - 19:38

Bonsoir.

Je cherchais le meilleur moyen de mettre à jour un écran, sans pour autant visualiser son effacement.
J'ai trouvé une solution par la création d'un second picture.

Qu'en pensez-vous ?

Avez-vous une autre solution ?

Code:
' Version du 30 sept 2018.

dim k%

maximize 0

picture 1
full_space 1
file_load 1,"c:\planetarium\fonds\fond1.jpg"
2d_target_is 1

create_hide
picture 2
width 2,width_client(1)
height 2,height_client(1)
left 2,-2000
top 2,0
create_show

for k%=1 to 100
    2d_circle rnd(1000),rnd(1000),10
next k%

file_save 1,"c:\a\carte.bmp"
file_load 2,"c:\a\carte.bmp"

wait 2000

hide 1
left 2,0
show 2
2d_clear
file_load 1,"c:\planetarium\fonds\fond1.jpg"
for k%=1 to 25
    2d_circle rnd(1000),rnd(1000),5
next k%

hide 2
show 1

Je viens de trouver une meilleure solution:

Code:
' Version du 30 sept 2018.

dim k%

maximize 0

picture 1
full_space 1
file_load 1,"c:\planetarium\fonds\fond1.jpg"
2d_target_is 1

image 2

for k%=1 to 100
    2d_circle rnd(1000),rnd(1000),10
next k%

2d_image_copy 2,0,0,width_client(1),height_client(1)

wait 2000

hide 1
2d_image_paste 2,0,0

2d_clear
file_load 1,"c:\planetarium\fonds\fond1.jpg"
for k%=1 to 25
    2d_circle rnd(1000),rnd(1000),5
next k%

show 1
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
silverman

avatar

Nombre de messages : 735
Age : 46
Localisation : Picardie
Date d'inscription : 18/03/2015

MessageSujet: Re: Changer un fond d'écran sans visualiser son effacement.   Lun 1 Oct 2018 - 12:09

Je te propose cette solution:
Code:
' principe : pour éviter des clignotements, on retaille l'image de fond à la taille des "width_client/height" du plus grand picture possible
'            ensuite, on "2d_image_paste" l'image retaillé dans un picture, pour dessiner dessus

dim k% , s$ , c$ , new_image

maximize 0

s$="c:\planetarium\fonds\fond1.jpg"
c$="c:\planetarium\fonds\new_fond1.jpg"

new_image=get_image(s$,c$)  :' retaille l'image de fond à la taille des xxx_client du plus grand picture possible

picture 12 : full_space 12 : FILE_LOAD 12,c$  :'  charge l'image retaillé !

2d_target_is 12


' fond d'ecran 1
2d_image_paste new_image,0,0
for k%=1 to 100
    2d_circle rnd(1000),rnd(1000),10
next k%

wait 1000

' fond d'ecran 2
2d_image_paste new_image,0,0
for k%=1 to 25
    2d_circle rnd(1000),rnd(1000),5
next k%



END
fnc get_image(src$,cibl$)
 dim_local fnc_frm,fnc_pic,fnc_ima
   fnc_frm=0
   repeat
      fnc_frm=fnc_frm+1
   until object_exists(fnc_frm)=0
   form fnc_frm : border_hide fnc_frm : full_space fnc_frm : hide fnc_frm
   command_target_is fnc_frm
   '
   fnc_pic=fnc_frm
   repeat
      fnc_pic=fnc_pic+1
   until object_exists(fnc_pic)=0
   picture fnc_pic : full_space fnc_pic : file_load fnc_pic,src$
   2d_target_is fnc_pic
   '
   fnc_ima=fnc_pic
   repeat
      fnc_ima=fnc_ima+1
   until object_exists(fnc_ima)=0
   image fnc_ima : 2d_image_copy fnc_ima,0,0,width_client(fnc_pic),height_client(fnc_pic)
   '
   if file_exists(cibl$)=0
      file_save fnc_ima,cibl$
   end_if
   command_target_is 0 : delete fnc_frm
   result fnc_ima  
end_fnc

ou celle là (moins pratique):

Code:
dim k%,wi%,hi%,f$
f$="c:\planetarium\fonds\fond1.jpg"

Dimima(f$)
width 0,wi% : height 0,hi% :' pas de clignotement si le form est plus petit ou égal à la taille de l'image contenu dans le picture

' maximize 0

' fabrique un picture d'affichage
create_hide
   picture 10
create_show
full_space 10 : file_load 10,f$ : show 10 : 2d_target_is 10

image 2 : 2d_image_copy 2,0,0,wi%,hi%


' fond d'ecran 1
2d_image_paste 2,0,0
for k%=1 to 100
    2d_circle rnd(1000),rnd(1000),10
next k%

wait 1000

' fond d'ecran 2
2d_image_paste 2,0,0
for k%=1 to 25
    2d_circle rnd(1000),rnd(1000),5
next k%


END
SUB Dimima(f$)
    ' sub de JL35
    ' Image JPG ou BMP exclusivement, dimensions rendues dans wi% et hi%
   DIM_LOCAL fm$: fm$ = "C:\TEMP\Provy.bmp"
   create_hide
      PICTURE 199
   create_show
   FILE_LOAD 199,f$: FILE_SAVE 199,fm$: DELETE 199
   FILEBIN_OPEN_READ 1,fm$
      FILEBIN_POSITION 1,18: wi% = FILEBIN_READ(1)+256*FILEBIN_READ(1)
      FILEBIN_POSITION 1,22: hi% = FILEBIN_READ(1)+256*FILEBIN_READ(1)
   FILEBIN_CLOSE 1
   FILE_DELETE fm$
END_SUB
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Pedro Alvarez

avatar

Nombre de messages : 1232
Date d'inscription : 19/01/2014

MessageSujet: Changer un fond d'écran sans visualiser son effacement.   Mar 2 Oct 2018 - 9:02

Bonjour.

Merci Silverman pour ces deux solutions.

Je vais voir s'il est possible de les appliquer dans mon logiciel de planétarium.

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




MessageSujet: Re: Changer un fond d'écran sans visualiser son effacement.   

Revenir en haut Aller en bas
 
Changer un fond d'écran sans visualiser son effacement.
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Changer la couleur de fond de cellule sans colorer sa page d'accueil
» Des minions pour fond d'écran, c'est possible ?
» Changer le fond de mon forum
» Comment changer le fond ?
» Code CSS changer le fond

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: