FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Bataille navale SM
Changer un fond d'écran sans visualiser son effacement. Emptypar jjn4 Aujourd'hui à 17:39

» Une calculatrice en une ligne de programme
Changer un fond d'écran sans visualiser son effacement. Emptypar jean_debord Aujourd'hui à 8:01

» Gestion d'un système client-serveur.
Changer un fond d'écran sans visualiser son effacement. Emptypar Pedro Hier à 19:31

» Les maths du crocodile
Changer un fond d'écran sans visualiser son effacement. Emptypar jean_debord Hier à 10:37

» Naissance de Crocodile Basic
Changer un fond d'écran sans visualiser son effacement. Emptypar jean_debord Hier à 8:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Changer un fond d'écran sans visualiser son effacement. Emptypar Froggy One Mer 24 Avr 2024 - 18:38

» Dessine-moi une galaxie
Changer un fond d'écran sans visualiser son effacement. Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Changer un fond d'écran sans visualiser son effacement. Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Changer un fond d'écran sans visualiser son effacement. Emptypar papydall Dim 21 Avr 2024 - 23:30

» Form
Changer un fond d'écran sans visualiser son effacement. Emptypar leclode Dim 21 Avr 2024 - 18:09

» trop de fichiers en cours
Changer un fond d'écran sans visualiser son effacement. Emptypar Marc Dim 21 Avr 2024 - 2:41

» 2D_fill_color(résolu)
Changer un fond d'écran sans visualiser son effacement. Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
Changer un fond d'écran sans visualiser son effacement. Emptypar leclode Mer 17 Avr 2024 - 11:07

» on_key_down (résolu)
Changer un fond d'écran sans visualiser son effacement. Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
Changer un fond d'écran sans visualiser son effacement. Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
Le Deal du moment : -39%
Ordinateur portable ASUS Chromebook Vibe CX34 Flip
Voir le deal
399 €

 

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

Aller en bas 
2 participants
AuteurMessage
Pedro

Pedro


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

Changer un fond d'écran sans visualiser son effacement. Empty
MessageSujet: Changer un fond d'écran sans visualiser son effacement.   Changer un fond d'écran sans visualiser son effacement. EmptyDim 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
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

Changer un fond d'écran sans visualiser son effacement. Empty
MessageSujet: Re: Changer un fond d'écran sans visualiser son effacement.   Changer un fond d'écran sans visualiser son effacement. EmptyLun 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
Pedro

Pedro


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

Changer un fond d'écran sans visualiser son effacement. Empty
MessageSujet: Changer un fond d'écran sans visualiser son effacement.   Changer un fond d'écran sans visualiser son effacement. EmptyMar 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
Contenu sponsorisé





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

Revenir en haut Aller en bas
 
Changer un fond d'écran sans visualiser son effacement.
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Comment afficher une image sans fond.
» Visualiser une page HTML ou HTM dans un form
» Effacement d'un Tableau ( Array )
» Problème d'affichage d'image de fond en 3D.
» Comment éviter l'effacement d'une zone de la FORM

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: