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
» Gestion d'un système client-serveur.
Capture d'une zone de l'écran total Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
Capture d'une zone de l'écran total Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Capture d'une zone de l'écran total Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Capture d'une zone de l'écran total Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Capture d'une zone de l'écran total Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Capture d'une zone de l'écran total Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Capture d'une zone de l'écran total Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Capture d'une zone de l'écran total Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Capture d'une zone de l'écran total Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Capture d'une zone de l'écran total Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Capture d'une zone de l'écran total Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Capture d'une zone de l'écran total Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Capture d'une zone de l'écran total Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Capture d'une zone de l'écran total Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Capture d'une zone de l'écran total Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
-21%
Le deal à ne pas rater :
LEGO® Icons 10329 Les Plantes Miniatures, Collection Botanique
39.59 € 49.99 €
Voir le deal

 

 Capture d'une zone de l'écran total

Aller en bas 
4 participants
AuteurMessage
JL35




Nombre de messages : 7095
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 : 2709
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 : 7095
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 : 7009
Age : 73
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 : 7095
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 : 2709
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 : 7095
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 : 968
Age : 51
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 : 7095
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 vidéo
» Capture vidéo et audio sur le web

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: