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.
Capture d'une zone de l'écran total Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Capture d'une zone de l'écran total Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Capture d'une zone de l'écran total Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Capture d'une zone de l'écran total Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Capture d'une zone de l'écran total Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Capture d'une zone de l'écran total Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Capture d'une zone de l'écran total Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Capture d'une zone de l'écran total Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Capture d'une zone de l'écran total Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Capture d'une zone de l'écran total Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Capture d'une zone de l'écran total Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Capture d'une zone de l'écran total Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Capture d'une zone de l'écran total Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Capture d'une zone de l'écran total Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Capture d'une zone de l'écran total 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
-25%
Le deal à ne pas rater :
PC Portable Gamer 16,1” HP Victus 16 – 16 Go /512 Go
749.99 € 999.99 €
Voir le deal

 

 Capture d'une zone de l'écran total

Aller en bas 
4 participants
AuteurMessage
JL35




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

Capture d'une zone de l'écran total Empty
MessageSujet: Capture d'une zone de l'écran total   Capture d'une zone de l'écran total EmptyJeu 23 Déc 2021 - 20:40

En fait j'avais besoin d'un texte avec divers enrichissements, centrage, etc, à insérer dans un picture
(menus de réveillon, eh oui).
J'ai trouvé plus simple de le créer dans Wordpad, et de recopier la zone choisie dans le picture.
(la zone peut contenir n'importe quoi, y compris des images, c'est une capture graphique).
La zone à saisir peut être variable, pour moi c'était 1/4 de feuille A4, c'est à dire 389x550 pixels sur mon écran,
mais ça peut être n'importe quoi.
Je saisis le texte dans le traitement de texte wordpad, je le mets en forme à ma guise, puis je lance la sub
qui affiche un rectangle de saisie, déplaçable sur l'écran avec 4 flèches et d'un nombre de pixels réglable,
puis sur clic 'OK' capture la zone dans un fichier ou dans le presse-papier et se ferme.
Voici:
Code:
DIM x,y,w,h,fs$
fs$ = "Z:\Capt.bmp": ' fichier de capture
WIDTH 0,410: HEIGHT 0,590: BORDER_SMALL 0: COLOR 0,100,180,180
PICTURE 1: WIDTH 1,389: HEIGHT 1,550
EXECUTE "C:\Windows\System32\write.exe"
w = 389: h = 550
x = 240: y = 175: ' aebitraire, n'importe où (déplaçable ensuite)
Capture_zone(x,y,w,h,fs$)
pause 500  
file_load 1,fs$
end

SUB Capture_zone(x,y,w,h,fs$)
  ' Capture de la zone de dimensions w x h en x,y de l'écran total,
  ' Résultat dans fs$ (bmp) ou clipboard si fs$ = ""
  IF LABEL("Depla") = 0 THEN LABEL Depla
  IF LABEL("Derec") = 0 THEN LABEL Derec
  IF LABEL("Quits") = 0 THEN LABEL Quits
  DIM_LOCAL ff,e,f1,f2,f,fh,fb,fl,fr,p,x1,y1,x2,y2
  DIM_LOCAL b1,b2,b3,b4,b5,b6,b7,b8,i,j,k
e = 8: ' épaisseur du trait enveloppe
' Rectangle de saisie
f1 = 500
x1=x-1: y1=y-1: x2 = x1+w+2*e: y2 = y1+h+2*e
fh=f1: FORM fh: COLOR fh,255,0,0: BORDER_HIDE fh: ' haut du rectangle
                TOP fh,y1: LEFT fh,x1: WIDTH fh,w+2*e: HEIGHT fh,e
fb=fh+1: FORM fb: COLOR fb,255,0,0: BORDER_HIDE fb: ' bas
                  TOP fb,y2: LEFT fb,x1: WIDTH fb,w+2*e: HEIGHT fb,e
fl=fb+1: FORM fl: COLOR fl,255,0,0: BORDER_HIDE fl: ' gauche
                  TOP fl,y1: LEFT fl,x1: HEIGHT fl,h+2*e: WIDTH fl,e
fr=fl+1: FORM fr: COLOR fr,255,0,0: BORDER_HIDE fr: ' droite
                  TOP fr,y1: LEFT fr,x2: HEIGHT fr,h+2*e: WIDTH fr,e
         FOR i = fh TO fr: TO_FOREGROUND i: NEXT i

f2 = 400: FORM f2: BORDER_SMALL f2: WIDTH f2,200: HEIGHT f2,61: FONT_SIZE f2,12
          TO_FOREGROUND f2: CAPTION f2," DÉPLACEMENT  ZONE  SAISIE"
          color f2,255,0,0
b1=f2+1: BUTTON b1: PARENT b1,f2: LEFT b1,2: WIDTH b1,25: CAPTION b1,CHR$(231)
b2=b1+1: BUTTON b2: PARENT b2,f2: LEFT b2,LEFT(b1)+26: WIDTH b2,25: CAPTION b2,CHR$(232)
b3=b2+1: BUTTON b3: PARENT b3,f2: LEFT b3,LEFT(b2)+26: WIDTH b3,25: CAPTION b3,CHR$(233)
b4=b3+1: BUTTON b4: PARENT b4,f2: LEFT b4,LEFT(b3)+26: WIDTH b4,25: CAPTION b4,CHR$(234)
         FOR i = b1 TO b4: TOP i,1: FONT_NAME i,"Wingdings": ON_CLICK i,Depla: NEXT i
b7=b4+1: SPIN b7: PARENT b7,f2: LEFT b7,LEFT(b4)+26: WIDTH b7,45: POSITION b7,1
b8=b7+1: BUTTON b8: PARENT b8,f2: TOP b8,1: LEFT b8,LEFT(b7)+WIDTH(b7)+1: WIDTH b8,30
         CAPTION b8,"OK": ON_CLICK b8,Quits
WHILE ff = 0: PAUSE 300: END_WHILE: EXIT_SUB
' ----------
Depla:
  i = NUMBER_CLICK: j = i-b1+1: k = POSITION(b7)
  SELECT j
      CASE 1: x1 = x1-k: x2 = x2-k
      CASE 2: x1 = x1+k: x2 = x2+k
      CASE 3: y1 = y1-k: y2 = y2-k
      CASE 4: y1 = y1+k: y2 = y2+k
  END_SELECT
  GOSUB Derec
RETURN
' ----------
Derec:
  TOP fh,y1: LEFT fh,x1
  TOP fb,y2: LEFT fb,x1
  TOP fl,y1: LEFT fl,x1
  TOP fr,y1: LEFT fr,x2
RETURN    
' ----------      
Quits:
  ' Capture et quitte
  DLL_ON "user32"
      i = DLL_CALL4("keybd_event",44,0,0,0): ' sauvegarde de tout l'écran -> clip
  DLL_OFF  
  p=fr+1: PICTURE p: HIDE p: WIDTH p,SCREEN_X: HEIGHT p,SCREEN_Y
  CLIPBOARD_PASTE p: 2D_TARGET_IS p  
  IMAGE p+1          
  2D_TARGET_IS p: 2D_IMAGE_COPY p+1,x1+e,y1+e,x2-e,y2-e
  IF fs$ = ""
      CLIPBOARD_COPY p+1
  ELSE
      FILE_SAVE p+1,fs$
  END_IF
  2D_TARGET_IS 0: FOR x = f1 TO f1+5: DELETE x: NEXT x
  DELETE f2: ff = 1
RETURN
END_SUB

Au fait, bon Noël à tous, les amis !
Revenir en haut Aller en bas
jjn4

jjn4


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

Capture d'une zone de l'écran total Empty
MessageSujet: Re: Capture d'une zone de l'écran total   Capture d'une zone de l'écran total EmptyVen 24 Déc 2021 - 5:41

J'ai changé Z: par C: en ligne 2
Puis j'ai essayé avec une phrase et une image avec Write
placé le rectangle et cliqué sur Ok,
mais je n'ai pas eu d'enregistrement de Capt.bmp en C: ?????
scratch
Sinon, bravo, belle performance, comme technique,
ce rectangle qui se déplace en transparence !
cheers
Et bon Noël, au fait !!!
santa santa santa santa
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
JL35




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

Capture d'une zone de l'écran total Empty
MessageSujet: Re: Capture d'une zone de l'écran total   Capture d'une zone de l'écran total EmptyVen 24 Déc 2021 - 9:28

Salut jjn4,

(Z: c'est chez moi une partie de la mémoire vive qui est définie en volume de manoeuvre, pratique pour
enregistrer des fichiers temporaires qui sont effacés automatiquement à l'extinction du pc)

Bizarre, je viens d'essayer avec C:, le fichier bmp est bien créé chez moi...
tu n'as pas quelque part une interdiction d'écrire directement sur la racine du disque ? quoique...
Désolé, je n'ai pas d'explication...
Sinon tu peux toujours passer par le presse-papier, fs$ = "" et l'image est dans le presse-papier,
enfin, j'espère, ça marche aussi comme ça chez moi.

J'espère que ça ne va pas gâcher ton Noël !
Bon Noël à toi aussi et à tous les autres !
Revenir en haut Aller en bas
papydall

papydall


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

Capture d'une zone de l'écran total Empty
MessageSujet: Re: Capture d'une zone de l'écran total   Capture d'une zone de l'écran total EmptyVen 24 Déc 2021 - 11:43

@jjn4
Essaye avec c:\temp
Windows n'apprécie pas qu'on aille griffonner sur sa racine! tongue
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




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

Capture d'une zone de l'écran total Empty
MessageSujet: Re: Capture d'une zone de l'écran total   Capture d'une zone de l'écran total EmptyVen 24 Déc 2021 - 16:13

Tu dois avoir raison papydall (comme toujours...)
Pour voir si on est autorisé à écrire à la racine du disque C,
Dans l'explorateur de fichier, clic sur le disque, 'Propriétés', onglet 'Sécurité',
'Autorisations pour Utilisateurs authentifiés', 'Écriture'...
(sous W7, ça doit être semblable sous W10).
Revenir en haut Aller en bas
jjn4

jjn4


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

Capture d'une zone de l'écran total Empty
MessageSujet: Re: Capture d'une zone de l'écran total   Capture d'une zone de l'écran total EmptyDim 26 Déc 2021 - 11:38

J'ai essayé :
fs$ = "C:\Temp\Capt.bmp"
Toujours le même problème :
Impossible to save the file (FILE_SAVE p+1,fs$)
Quant à l'explorateur de fichiers, il a beaucoup changé...
scratch
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
JL35




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

Capture d'une zone de l'écran total Empty
MessageSujet: Re: Capture d'une zone de l'écran total   Capture d'une zone de l'écran total EmptyDim 26 Déc 2021 - 13:06

Bon, je suppose que tu as bien un répertoire C:\Temp...
Je n'ai pas d'explication puisque ça marche chez moi, le plus simple comme je disais est de passe par le presse-papier
et de faire un 'coller' dans le picture résultat.
Revenir en haut Aller en bas
silverman

silverman


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

Capture d'une zone de l'écran total Empty
MessageSujet: Re: Capture d'une zone de l'écran total   Capture d'une zone de l'écran total EmptyDim 26 Déc 2021 - 13:31

Le répertoire TEMP ne se trouve pas nécessairement à la racine, voici un code pour trouver son emplacement:
Code:
print DIR_TEMP$()


end
fnc DIR_TEMP$()
    dim_local DIR_TEMP_DOLLAR_c$,DIR_TEMP_DOLLAR_dword%
    peek_reverse
    DIR_TEMP_DOLLAR_c$=string$(260," ")
    ' appel de la dll
    DLL_ON "kernel32.dll"
       ' appel de la fonction
       DIR_TEMP_DOLLAR_dword% = DLL_CALL2("GetTempPathA",260,peek32(adr(DIR_TEMP_DOLLAR_c$)))   :' obtient le chemin; 'DIR_TEMP_DOLLAR_dword%' = nombre de caractères
    DLL_OFF
    result trim$(DIR_TEMP_DOLLAR_c$)
end_fnc
Revenir en haut Aller en bas
JL35




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

Capture d'une zone de l'écran total Empty
MessageSujet: Re: Capture d'une zone de l'écran total   Capture d'une zone de l'écran total EmptyDim 26 Déc 2021 - 19:12

Oui effectivement silverman, pour le temp système, pour moi le C:\Temp je l'ai créé moi-même
comme zone de manoeuvre temporaire. Et ça sert beaucoup !
Revenir en haut Aller en bas
Contenu sponsorisé





Capture d'une zone de l'écran total Empty
MessageSujet: Re: Capture d'une zone de l'écran total   Capture d'une zone de l'écran total Empty

Revenir en haut Aller en bas
 
Capture d'une zone de l'écran total
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Capture d'une zone de l'écran total
» Capture d'une zone de l'écran total
» Afficher un texte sur l'écran total
» Capture écran
» Capture des replay TV

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: