Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| copie d'ecran accidentelle | |
| | |
Auteur | Message |
---|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| | | | sergeauze
Nombre de messages : 391 Age : 72 Localisation : Hautes Alpes France Date d'inscription : 09/01/2010
| Sujet: Re: copie d'ecran accidentelle Ven 25 Avr 2014 - 21:50 | |
| salut "la solution ne devrait pas tarder à venir" du moins je l’espère Je vais plancher sur le sujet ; mais toutes les bonnes volontés sont les bien venues | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: copie d'ecran accidentelle Ven 25 Avr 2014 - 22:18 | |
| Bonsoir sergeauze,
Je me demande quand même si c'est faisable en panoramic pur... Le problème étant de connaître les coordonnées du clic souris à un endroit quelconque de l'écran (y compris en dehors d'une fenêtre panoramic éventuelle), et ça à ma connaissance ce n'est pas possible en panoramic... sauf idée de génie...
Et même si on obtenait les coordonnées du clic, il faudrait pouvoir tracer un repère (une croix par exemple) pour marquer visuellement le point de départ de la capture... et ça ça paraît encore plus difficile !
La seule solution que je vois c'est de faire une capture de tout l'écran, comme plus haut, puis d'afficher l'image obtenue dans un picture, puis dans ce picture de délimiter la zone à garder. Mais c'est quand même un peu lourd... | |
| | | sergeauze
Nombre de messages : 391 Age : 72 Localisation : Hautes Alpes France Date d'inscription : 09/01/2010
| Sujet: Re: copie d'ecran accidentelle Ven 25 Avr 2014 - 22:26 | |
| Pour le moment c'est ce que je fais | |
| | | sergeauze
Nombre de messages : 391 Age : 72 Localisation : Hautes Alpes France Date d'inscription : 09/01/2010
| Sujet: Re: copie d'ecran accidentelle Lun 28 Avr 2014 - 15:59 | |
| Salut à tous Un peu lourd c'est vrai, mais réalisable je soumets ma version:un essai améliorable les instructions sont dans le code - Code:
-
' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ' x x ' x Copie d'ecran puis capture d'un partie d'ecran x ' x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
' 1) On lance le programme ' 2) delimitation de la zone de capture ' a) click gauche de la souris ' b) click droit de la souris ' IMPORTANT:respecter l'ordre des clicks ' :le click droit se fait en decallage vers le bas ' et à droite par rapport au click gauche ' 3)On enfonce le touche "w " ' 4) Le programme se termine ....on attend que ça se passe dim a,b,c,d ,f$
picture 1
hide 1
WIDTH 0,0: HEIGHT 0,0: BORDER_HIDE 0 HIDE 0
IMAGE 2:wait 200 :2D_IMAGE_COPY 2,0,0,SCREEN_X-1,SCREEN_Y-1 wait 200 show 0 show 1
WIDTH 0,SCREEN_X-1: HEIGHT 0,SCREEN_y-1 WIDTH 1,SCREEN_X-1: HEIGHT 1,SCREEN_y-1 2d_target_is 1 2D_IMAGE_paste 2,0,0 rem imprime les positions en X et Y de la souris quand on enfonce le bouton droit sur picture 1 ' print_locate 20,20 repeat if mouse_left_down(1)=1
print mouse_x_left_down(1)
a= mouse_x_left_down(1) b= mouse_y_left_down(1)
end_if
if mouse_right_down(1)=1
print mouse_y_right_down(1) c= mouse_x_right_down(1) d= mouse_y_right_down(1)
end_if until scancode =87 2d_target_is 1 2D_IMAGE_COPY 2 ,a,b,c,d FILE_SAVE 2,"C:\temp\tutu.bmp" wait 200
2d_target_is 1 2D_IMAGE_paste 2 ,0,0 wait 5000 ' la capture de la partie selectionnée s'affiche dans le lecteur ' d'images par defaut execute "C:\temp\tutu.bmp" terminate | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: copie d'ecran accidentelle Lun 28 Avr 2014 - 17:33 | |
| Pas mal sergeauze, y'a de l'idée, tout ça en panoramic pur c'est bien !
Remarques: - pourquoi affiches-tu seulement la position x pour le clic gauche et seulement la position y pour le clic droit ? A la place des: print mouse_x_left_down(1) et print mouse_y_left_down(1) j'aurais fait après a=... et b=... print str$(a)+","+str$(y) et après c=... et d=... print str$(c)+","+str$(d)
Sinon, très bien, idée astucieuse ! | |
| | | sergeauze
Nombre de messages : 391 Age : 72 Localisation : Hautes Alpes France Date d'inscription : 09/01/2010
| Sujet: Re: copie d'ecran accidentelle Lun 28 Avr 2014 - 22:20 | |
| le code n’étant pas finalise j'ai laisse trainer des balises que je m’étais faites Un autre code en cours de gestation :transfert d'un picture vers l'autre toujours "w "pour quitter balayage du picture en haut à gauche dimensions du pavet de balayage à la vollée touche 0 at 4 0=rien 4 =64 pixels l'image est stable chez moi - Code:
-
' TRANSFERT
dim a,temp$ ,f$ width 0,1600 height 0,1000 a=0.2
Picture 2 Top 2, 1 ' Left 2, 1000 Width 2, 800 Height 2, 800
' Hint 2, " Picture 2"
Picture 3 Top 3, 1 Left 3, 800 Width 3, 800 Height 3, 800
' Hint 3, " Picture 3"
picture 6 top 6,800 width 6,250 ' Hint 6, " Picture 6" open_dialog 100 f$=file_name$(100)
wait 200
file_load 2, f$
open_dialog 200 f$=file_name$(200) file_load 3, f$ wait 200
stretch_on 6 image 5
repeat
if scancode=96 then a =0.2 : ' touche 0 if scancode=97 then a =8 : ' touche 1 if scancode=98 then a =16 if scancode=99 then a =32 if scancode=100 then a =64 2d_target_is 2 2d_image_copy 5,mouse_x_position(2),mouse_y_position(2),mouse_x_position(2)+a,mouse_y_position(2)+ a
2d_target_is 3 2d_image_paste 5,mouse_x_position(2), mouse_y_position(2) wait 60 2d_target_is 6 stretch_on 6 2d_image_paste 5,mouse_x_position(2)/100, mouse_y_position(2)/100 wait 60 until scancode =87 file_save 3,"C:\temp\monimage.bmp" wait 200 execute "C:\temp\monimage.bmp" :terminate il s'agit là encore d'un essai | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: copie d'ecran accidentelle Mer 30 Avr 2014 - 18:15 | |
| Pour ce qui est de la capture sur tout l'écran, je me suis inspiré de ton code et j'ai fait quelque chose d'un peu plus simple: On clique sur l'image de l'écran, une croix s'affiche (inutile peut-être), et sans relâcher on déplace la souris vers le coin inférieur droit de la capture désirée: le rectangle de sélection s'affiche en pointillé pendant le déplacement. On relâche, et la zone choisie est copiée dans le presse-papier. - Code:
-
LABEL Timeur DIM t,x1,y1,x,y,xs,ys BORDER_HIDE 0: HIDE 0: WAIT 100: WIDTH 0,SCREEN_X: HEIGHT 0,SCREEN_Y IMAGE 2: 2D_IMAGE_COPY 2,0,0,SCREEN_X-1,SCREEN_Y-1: ' Copie écran dans Image 2 WAIT 100 PICTURE 1: FULL_SPACE 1: 2D_TARGET_IS 1: 2D_IMAGE_PASTE 2,0,0 SHOW 0 t = 0: TIMER 3: TIMER_INTERVAL 3,200: ON_TIMER 3,Timeur END ' ============================================================================== Timeur: TIMER_OFF 3 x = MOUSE_X_POSITION(1): y = MOUSE_Y_POSITION(1): ' position courante IF t = 0 IF MOUSE_LEFT_DOWN(1) = 1 t = 1: x1 = x: y1 = y: ' position de départ 2D_LINE x-20,y,x+20,y: 2D_LINE x,y-20,x,y+20: ' repère coin haut/gauche 2D_PEN_DOT END_IF ELSE IF MOUSE_LEFT_UP(1) = 1 IF x<x1 THEN xs = x1: x1 = x: x = xs IF y<y1 THEN ys = y1: y1 = y: y = ys 2D_IMAGE_PASTE 2,0,0 2D_IMAGE_COPY 2,x1,y1,x,y: CLIPBOARD_COPY 2: ' capture dans le presse-papier EXECUTE "C:\Progra~2\Irfanv~1\i_view32.exe /clippaste": ' pour voir TERMINATE END_IF IF MOUSE_LEFT_UP(1) = 0 IF x<>xs OR y<>ys 2D_IMAGE_PASTE 2,0,0: ' régénère l'image 2D_LINE x1,y1,x,y1:2D_POLY_TO x,y:2D_POLY_TO x1,y:2D_POLY_TO x1,y1 END_IF END_IF END_IF xs = x: ys = y TIMER_ON 3 RETURN ' ============================================================================== C'est sûrement perfectible (il y a un Goto pas très élégant...), et il manque en tout cas un test sur la position de la souris qui ne doit pas être au final à gauche ou au-dessus de la position de départ, sinon ça plante. PS Je précise: - si la position d'arrivée est à droite et au-dessus de celle de départ, l'image capturée est à l'envers, c'est amusant; - par contre si elle est à gauche, là ça plante. J'ai ajouté le test dans le code ci-dessus, et j'ai enlevé le goto disgrâcieux. L'Execute IrfanView n'est là que pour visualiser le contenu résultat du presse-papier, après on en fait ce qu'on veut. Edit 01/05: suppression (récupération) des cas d'erreurs (clic final à gauche ou au-dessus du clic d'origine), et plus d'image inversée.
Dernière édition par JL35 le Jeu 1 Mai 2014 - 15:13, édité 1 fois | |
| | | sergeauze
Nombre de messages : 391 Age : 72 Localisation : Hautes Alpes France Date d'inscription : 09/01/2010
| Sujet: Re: copie d'ecran accidentelle Mer 30 Avr 2014 - 18:43 | |
| salut Merci jl 35 pour tes améliorations du code Pas mal du tout l’image en miroir ! Pour éviter le plantage ? On devrait pouvoir trouver une solution | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: copie d'ecran accidentelle Mer 30 Avr 2014 - 19:01 | |
| Comme je disais à la fin j'ai ajouté le test pour la position finale à gauche (qui plantait), mais pas pour la position finale en haut qui renvoie une image inversée, ça peut servir ! (et ça ne plante pas). | |
| | | sergeauze
Nombre de messages : 391 Age : 72 Localisation : Hautes Alpes France Date d'inscription : 09/01/2010
| Sujet: Re: copie d'ecran accidentelle Mer 30 Avr 2014 - 19:58 | |
| je suis revenu sur ma version et la solution était évidente Ca dépend de l'ordre des clicks si on est à gauche de l'image en haut ou en bas click gauche en premier si on est à droite de l'image en haut ou en bas click droit en premier Par contre dans ton cas ça n'est plus possible Dommage Mais je conserve ta version mieux construite que la mienne | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: copie d'ecran accidentelle Jeu 1 Mai 2014 - 15:15 | |
| J'ai un peu modifié mon code ci-dessus notamment pour récupérer les cas d'erreur (point d'arrivée de la sélection à gauche et/ou au-dessus du point de départ), donc plus d'erreur de ce type et plus d'image inversée. | |
| | | sergeauze
Nombre de messages : 391 Age : 72 Localisation : Hautes Alpes France Date d'inscription : 09/01/2010
| Sujet: Re: copie d'ecran accidentelle Jeu 1 Mai 2014 - 17:21 | |
| L'outil est maintenant prêt à l'emploi grâce à toi; tout en Panoramic, sans dll ajoutée | |
| | | sergeauze
Nombre de messages : 391 Age : 72 Localisation : Hautes Alpes France Date d'inscription : 09/01/2010
| Sujet: Re: copie d'ecran accidentelle Sam 3 Mai 2014 - 0:40 | |
| une énigme vient se présenter à moi ! Trouvez un bmp dont vous renseignez le chemin dans le code Appuyez la touche " 4 " Balayez le picture du haut Observez le résulta sur le form du bas " w" pour quitter Une explication? - Code:
-
dim a width 0,1000 height 0,300 form 3 width 3,1000 height 3,500 left 3,1 top 3, 400 picture 1 ' top 1,-300 width 1,1200 height 1,250
file_load 1,"C:\Users\babou\Desktop\caf\20140302_100148.jpg" ' top 1,10:left 1,10 image 2 rem capture d'image repeat if scancode=96 then a =4 if scancode=97 then a =8 if scancode=98 then a =16 if scancode=99 then a =32 if scancode=100 then a =64 stretch_on 1 2d_image_copy 2,mouse_x_position(1),mouse_y_position(1),mouse_x_position(1)+a,mouse_y_position(1)+ a rem restitution d'image command_target_is 3 2d_target_is 3 2d_image_paste 2,mouse_x_position(1), mouse_y_position(1) 2d_target_is 0 ' 2d_image_paste 2,mouse_x_position(1), mouse_y_position(1)+300 until scancode =87 terminate | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: copie d'ecran accidentelle Sam 3 Mai 2014 - 2:52 | |
| Tu recopies l'image du haut dans celle du bas, avec une certaine taille de pinceau. Intéressant comme effet.
Y vois-tu un problème ? Si c'est le fonctionnement voulu, ça marche très bien ! | |
| | | sergeauze
Nombre de messages : 391 Age : 72 Localisation : Hautes Alpes France Date d'inscription : 09/01/2010
| Sujet: Re: copie d'ecran accidentelle Sam 3 Mai 2014 - 11:50 | |
| salut @klaus "Y vois-tu un problème ? Si c'est le fonctionnement voulu, ça marche très bien !" Au départ le résulta n'est pas volontaire et purement le fruit du hasard . j'y vois la possibilité de définir l’échelle de l'image de départ et d'en copier un partie sur l'autre image , "à main levée" Et ça fonctionne entre deux picture ! Mais je me demande si ça intéresse grand monde ,ce genre de manipulations ? | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: copie d'ecran accidentelle Sam 3 Mai 2014 - 12:42 | |
| Pourquoi pas ? L'effet est intéressant. Et on voit bien que tu choisis la taille du "pinceau" par les touches "0", "1", "2", "3' ou "4".
To conditionnes la recopie par la position de la souris, ce qui donne une sorte de "dessin au gros feutre" dont l'encre est l'image d'origine. Pour ma part, j'utilise la même technique pour éclater une photo en une série de vignettes qui peuvent être utilisées séparément, dans d'autres pictures plus petits ou dans des sprites, par exemple. Je fais cela dans mon jeu de pousse-pousse, lorsque j'utilise l'option de chargement d'image, au lieu d'utiliser les chiffres de 1 à 15 qui sont l'affichage par défaut. | |
| | | Contenu sponsorisé
| Sujet: Re: copie d'ecran accidentelle | |
| |
| | | | copie d'ecran accidentelle | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |