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
» Logiciel de planétarium.
Défilement dans une grande image Emptypar Pedro Aujourd'hui à 8:08

» Un autre pense-bête...
Défilement dans une grande image Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Défilement dans une grande image Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Défilement dans une grande image Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Défilement dans une grande image Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Défilement dans une grande image Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Défilement dans une grande image Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Défilement dans une grande image Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Défilement dans une grande image Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Défilement dans une grande image Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Défilement dans une grande image Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Défilement dans une grande image Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Défilement dans une grande image Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Défilement dans une grande image Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Défilement dans une grande image Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le deal à ne pas rater :
LEGO Icons 10331 – Le martin-pêcheur
35 €
Voir le deal

 

 Défilement dans une grande image

Aller en bas 
4 participants
AuteurMessage
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Défilement dans une grande image Empty
MessageSujet: Défilement dans une grande image   Défilement dans une grande image EmptyDim 20 Déc 2020 - 16:12

(Voir le sujet Les barres de défilement, dans la rubrique A l'Aide: je me suis largement inspiré de l'intervention de Marc)
Peut-être que j'enfonce une porte ouverte, le but est de naviguer dans une grande image qui ne tient pas dans l'écran
(et à fortiori dans le Form 0).
Mon image à moi fait 2403 x 3591 pixels:
Code:
LABEL Redim0,Dscr
DIM fi$,pic,hf,wf,i,scv,sch
fi$ = "C:\GRAPH\JPG\Joconde.jpg"
hf = 3591: wf = 2403: ' dimensions de l'image.
ON_RESIZE 0,Redim0
pic = 5: PICTURE pic: WIDTH pic,wf: HEIGHT pic,hf: FILE_LOAD pic,fi$
scv = 1: SCROLL_BAR scv: VERTICAL scv : ON_CHANGE scv,Dscr
sch = 2: SCROLL_BAR sch: HORIZONTAL sch: ON_CHANGE sch,Dscr
GOSUB Redim0: ' init
END
' ===================================================================
Dscr:
  ' Déplacement d'un scroll bar
  i = -1*(hf-HEIGHT_CLIENT(0)): TOP pic,i*POSITION(scv)/100: ' V
  i = -1*(wf-WIDTH_CLIENT(0)): LEFT pic,i*POSITION(sch)/100: ' H
RETURN
' ===================================================================
Redim0:
  ' Redimensionnement du Form 0 -> redifinition des scroll bars
  LEFT scv,WIDTH_CLIENT(0)-WIDTH(scv): HEIGHT scv,HEIGHT_CLIENT(0): ' V
  TOP sch,HEIGHT_CLIENT(0)-HEIGHT(sch): WIDTH sch,WIDTH_CLIENT(0): ' H
RETURN
' ===================================================================[code][/code]
Revenir en haut Aller en bas
jjn4

jjn4


Nombre de messages : 2747
Date d'inscription : 13/09/2009

Défilement dans une grande image Empty
MessageSujet: Re: Défilement dans une grande image   Défilement dans une grande image EmptyDim 20 Déc 2020 - 18:05

Superbe !
Sub très pratique à mettre de côté !
Bravo et merci, JL35 !
(euh, le  « (code)(/code) » final est peut-être en trop ( Laughing )
king
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Défilement dans une grande image Empty
MessageSujet: Re: Défilement dans une grande image   Défilement dans une grande image EmptyDim 20 Déc 2020 - 20:58

T'as raison jjn4, petite fausse manoeuvre de mise sur le forum...
avec quelques fautes de frappe (redifinition...) Wink
Revenir en haut Aller en bas
jjn4

jjn4


Nombre de messages : 2747
Date d'inscription : 13/09/2009

Défilement dans une grande image Empty
MessageSujet: Re: Défilement dans une grande image   Défilement dans une grande image EmptySam 2 Jan 2021 - 18:39

Je me suis aperçu que si ça marchait avec une souris sur l'ascenseur,
par contre, sur un écran tactile à faire monter ou descendre l'image
avec le doigt, ça ne marche pas.
Alors, j'ai essayé ce petit ajout au programme de JL35.
(Désolé, JL35, d'avoir préalablement quelque peu jijiennquatrisé ton programme)

Code:
rem ' Articulation gde image dans pt form avec ascenseur
rem ' JL35 - https://panoramic.1fr1.net/t6535-defilement-dans-une-grande-image
LABEL redim_0,dim_scr , move
DIM PH$,HTPH%,LGPH%,I%,J%,PS%
PH$="C:\Robo.jpg"
HTPH%=3591 : LGPH%=2403: ' dimensions de l'image.
width 0,1200 : height 0,700 : ON_RESIZE 0,redim_0
PICTURE 5 : WIDTH 5,LGPH% : HEIGHT 5,HTPH%: FILE_LOAD 5,PH$ : on_mouse_move 5,move
SCROLL_BAR 1: VERTICAL 1 : width 1,50 : ON_CHANGE 1,dim_scr
SCROLL_BAR 2: HORIZONTAL 2 : ON_CHANGE 2,dim_scr
GOSUB redim_0: ' init
END
' ===================================================================
dim_scr:
  ' Déplacement d'un scroll bar
  I% = -1*(HTPH%-HEIGHT_CLIENT(0)): TOP 5,I%*POSITION(1)/100: ' V
  I% = -1*(LGPH%-WIDTH_CLIENT(0)): LEFT 5,I%*POSITION(2)/100: ' H
RETURN
' ===================================================================
redim_0:
  ' Redimensionnement du Form 0 -> redéfinition des scroll bars
  LEFT 1,WIDTH_CLIENT(0)-WIDTH(1): HEIGHT 1,HEIGHT_CLIENT(0): ' V
  TOP 2,HEIGHT_CLIENT(0)-HEIGHT(2): WIDTH 2,WIDTH_CLIENT(0)-17: ' H
RETURN
' ===================================================================
move: : ' Ajout perso pour faire bouger l'image en tactile
   J%=mouse_y_position(5)
   if J%<>PS%
      if J%>PS%
         top 5,top(5)+1
      else
         top 5,top(5)-1
      end_if
   end_if
   PS%=mouse_y_position(5)
return
Bon, ça marchotte, mais ça n'est pas vraiment terrible !
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
silverman

silverman


Nombre de messages : 970
Age : 52
Localisation : Picardie
Date d'inscription : 18/03/2015

Défilement dans une grande image Empty
MessageSujet: Re: Défilement dans une grande image   Défilement dans une grande image EmptyDim 3 Jan 2021 - 12:09

Salut jjnatriseur!

Voici un programme qui permet de déplacer une image dans un picture tant que le bouton gauche de la souris est enfoncé. Vois si ce code peut t'aider pour ton écran tactile.

Code:
maximize 0
'
label load_image_dans_container_my_image,bouge2
dim null,container_my_image,my_image,lastX,lastY,pastX,pastY,imx,imy,taille_imx,taille_imy

' génère une image
container_my_image=1000
my_image=2000
gosub load_image_dans_container_my_image

' déplace l'image dans le container_my_image
on_mouse_move container_my_image,bouge2


END
load_image_dans_container_my_image:
' ****************** fabrique une image pour la démonstration : debut **********
create_hide
  picture 123 : width 123,1000 : height 123,1000  :' fabrique un picture temporaire pour générer une image de container_my_image*container_my_image
create_show
color 123,0,0,0
dim i,x1,y1,x2,y2,r,g,b
2d_target_is 123
for i=1 to 100
   x1=int(rnd(500))
   y1=int(rnd(500))
   x2=int(rnd(500)+500)
   y2=int(rnd(500)+500)
   r=int(rnd(255))
   g=int(rnd(255))
   b=int(rnd(255))
   2d_pen_color r,g,b
   2d_fill_color r,g,b
   2d_rectangle x1,y1,x2,y2
next i
clipboard_copy 123
2d_target_is 0 : delete 123  :' plus besoin du picture temporaire
' ****************** fabrique une image pour la démonstration : fin ************

image my_image
clipboard_paste my_image :' image de démonstration
' on peut charger une image à partir du disque dur
' file_load my_image,"Mon_image.bmp"

' dimension de my_image
taille_imx=1000
taille_imy=1000

' le container; en fait c'est un picture
picture container_my_image : width container_my_image,550 : height container_my_image,550 : top container_my_image,50 : left container_my_image,150 :' un container_my_image de taille 550*550
2d_target_is container_my_image : 2d_image_paste my_image,0,0                                                                                       :' colle l'image dans le picture

return

bouge2:
off_mouse_move container_my_image
   '
   null=scancode :' rafraichir le scancode
   if scancode=1
      2d_clear
      pastX=mouse_x_position(container_my_image)
      pastY=mouse_y_position(container_my_image)
      imx=imx+(pastx-lastx)
      imy=imy+(pasty-lasty)
      if imx<width(container_my_image)-taille_imx then imx=width(container_my_image)-taille_imx     :' <--- taille_imx
      if imx>0 then imx=0
      if imy<height(container_my_image)-taille_imy then imy=height(container_my_image)-taille_imy   :' <--- taille_imy
      if imy>0 then imy=0
      2d_image_paste my_image,imx,imy
      lastx=pastx
      lasty=pasty
   else
      lastX=mouse_x_position(container_my_image)
      lastY=mouse_y_position(container_my_image)
   end_if
   '
on_mouse_move container_my_image,bouge2 :' pb(bug?) avec bouton gauche: si le bouton est enfoncé dans le container_my_image, l'évènement est
                                        :' détecté même si la souris est en dehors du container_my_image!!! Pas génant mais bon à connaitre
return

Revenir en haut Aller en bas
jjn4

jjn4


Nombre de messages : 2747
Date d'inscription : 13/09/2009

Défilement dans une grande image Empty
MessageSujet: Re: Défilement dans une grande image   Défilement dans une grande image EmptyDim 3 Jan 2021 - 17:49

Ah oui, ça a l'air nettement plus efficace !
Merci, silverman !
Je l'essai sur mon programme...
cheers
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
jjn4

jjn4


Nombre de messages : 2747
Date d'inscription : 13/09/2009

Défilement dans une grande image Empty
MessageSujet: Re: Défilement dans une grande image   Défilement dans une grande image EmptyMar 5 Jan 2021 - 16:54

@silverman :
Je l'ai adapté.
Ca marche bien sur l'ordinateur sur lequel je programme
et qui fonctionne avec la souris.
Mais ça ne fonctionne pas sur la tablette qui marche en tactile
(par contre, si j'équipe cette tablette d'un clavier et d'une souris, là ça marche (mais pas en tactile)).
scratch
Apparemment, le tactile ne fonctionne pas comme une souris
avec un mouse_up suivi d'un mouse_down après un déplacement de la souris levée,
il semblerait que c'est sans cesse en mouse_down, le pointeur changeant
simplement miraculeusement de localisation lorsqu'on replace le doigt ailleurs.
(Finalement, j'ai adapté ton système avec des bons vieux boutons Laughing )
geek
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Défilement dans une grande image Empty
MessageSujet: Re: Défilement dans une grande image   Défilement dans une grande image EmptyMar 5 Jan 2021 - 18:26

Bonjour à tous !

@JJn4
Je viens de tester les barres de défilement (scroll_bar) avec une tablette (chinoise) sous Windows 10 : le tactile fonctionne parfaitement bien pour monter ou descendre les ascenseurs.
Ce test a été effectué avec la version 0.29i9 de Panoramic et ce source :

Code:
label defilementVertical,redimensionnerFenetre

creerFenetreScrollableVerticalement()

alpha 3
top 3,1800
left 3,200
caption 3,"Hello !"

end

sub creerFenetreScrollableVerticalement()
    width 0,600
    height 0,500
    on_resize 0,redimensionnerFenetre

    scroll_bar 1
    vertical 1
    left 1,width_client(0) - width(1)
    height 1,height_client(0)
    on_change 1,defilementVertical

    panel 2
    width 2,width_client(0) - width(1)
    height 2,2000 : ' hauteur de 2000 pixels par exemple

    max 1,height(2) - height_client(0)
  
    command_target_is 2
end_sub

defilementVertical:
    top 2,(-1) * position(1)
return

redimensionnerFenetre:
    left 1,width_client(0) - width(1)
    height 1,height_client(0)
    width 2,width_client(0) - width(1)
    max 1,height(2) - height_client(0)
return

Après avoir modifié mon source, j'ai effectué le test sous Android 8.0 et P4A version 0.13, pas de problème, avec le doigt on actionne bien les ascenseurs.

EDIT :

Pour finir, je viens de tester le source de Silverman, il fonctionne parfaitement bien ! Bravo Silverman ! cheers
Sur la tablette Windows 10, je déplace sans problème l'image avec le doigt . c'est très fluide et agréable. C'est infiniment plus pratique que les ascenseurs.
Merci Silverman pour ton partage ! sunny
Revenir en haut Aller en bas
jjn4

jjn4


Nombre de messages : 2747
Date d'inscription : 13/09/2009

Défilement dans une grande image Empty
MessageSujet: Re: Défilement dans une grande image   Défilement dans une grande image EmptyMer 6 Jan 2021 - 15:20

@Marc:
Désolé, mais je ne suis pas aussi optimiste.
Avec le programme que tu viens de publier, on peut effectivement
faire monter ou descendre l'ascenseur avec une souris ou en tactile.
silent
Mais avec ce que proposait Silverman en tactile, de faire monter ou descendre le texte lui-même,
par exemple, de poser le doigt sur ton "Hello !" et de le faire monter ou descendre
sans toucher à l'ascenseur. Et là, ça ne marche pas avec ton programme.
Et avec celui de silverman, ça marche (au niveau du texte) avec une souris,
mais ça pétouille sur ma tablette en tactile en revenant systématiquement au même point,
si bien qu'on n'arrive pas à avancer dans le sens de la montée ou de la descente.
rabbit
Bon, il n'en reste pas moins vrai que la solution initiée par JL35 n'est pas mal du tout.
Créer un ascenseur qui ne se crée pas automatiquement, c'est bien aussi.
Mais tout cela fait bien beaucoup de tintouin pour un truc qui se faisait tout seul auparavant.
Par exemple, j'ai encore des vieux programmes créés avec la version panoramic 9.26
eh bien l'ascenseur se crée automatiquement et en tactile, il suffit de faire glisser
son doigt sur le texte vers le haut ou vers le bas pour que le texte monte ou descende.
Dommage qu'avec les versions ultérieures, cette facilité n'existe plus !
Sad
C'est curieux que ça marche sur ta tablette au niveau du texte :
La mienne est une vielle de 8 ans qui marche en Windows 8, peut-être est-elle trop vieille ?
scratch
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Contenu sponsorisé





Défilement dans une grande image Empty
MessageSujet: Re: Défilement dans une grande image   Défilement dans une grande image Empty

Revenir en haut Aller en bas
 
Défilement dans une grande image
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Défilement d’images dans tous les sens
» Récupérer l'image d'un IMAGE dans un picture
» Atteindre un objet dans une grande fenêtre
» image dans KGF Grid
» Découpe dans une image

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: