JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Zoom d'une zone de l'écran Mar 4 Nov 2014 - 17:06 | |
| Comme souvent avec les images (pour moi en tout cas), il faut disposer de IrfanView qui simplifie bien les choses. Moyennant quoi on peut sélectionner à la souris une zone quelconque de l'écran et l'agrandir comme on veut: - Code:
-
' Zoom d'une zone de l'écran. ' Sélection: ' - en déplaçant la souris, amener la croix au coin supérieur gauche désiré, cliquer, ' puis au coin inférieur droit, cliquer: la zone capturée s'affiche en haut à gauche. ' Zoomer: clic gauche sur la zone: Zoom plus, clic droit: Zoom moins. ' Copier dans le presse-papier: clic droit sur la bande jaune du haut ' Quitter: clic gauche sur la bande jaune du haut. LABEL Termin, Afi, Zoom DIM iv$,fr$,wbm,hbm,w0,h0,v%(10),zmx,i iv$ = "C:\Progra~2\Irfanv~1\i_view32.exe " fr$ = "C:\TEMP\Temp.bmp"
BORDER_HIDE 0: HIDE 0: FONT_BOLD 0: FONT_SIZE 0,11: COLOR 0,255,255,0 ON_CLICK 0,Termin PICTURE 1: TOP 1,18: STRETCH_ON 1 zmx = 4: ' zoom de départ EXECUTE_WAIT iv$+"/capture=4 /convert="+fr$ IF FILE_EXISTS(fr$)=0 THEN TERMINATE FILEBIN_OPEN_READ 1, fr$ FILEBIN_POSITION 1, 18: FILEBIN_BLOCK_READ 1,8,v%(0) wbm = v%(0)+256*v%(1)+65536*v%(2)+16777216*v%(3) hbm = v%(4)+256*v%(5)+65536*v%(6)+16777216*v%(7) FILEBIN_CLOSE 1 GOSUB Afi SHOW 0 TIMER 9: TIMER_INTERVAL 9,100: ON_TIMER 9,Zoom END ' ============================================================================== Termin: TIMER_OFF 9 FILE_DELETE fr$ TERMINATE ' ============================================================================== Afi: w0 = wbm*zmx: h0 = hbm*zmx+18 WIDTH 0,w0: HEIGHT 0,h0 TOP 1,18: WIDTH 1,w0: HEIGHT 1,hbm*zmx FILE_LOAD 1,fr$ PRINT_LOCATE 0,1: PRINT "Capt. "+STR$(wbm)+"x"+STR$(hbm)+" "+STR$(zmx)+"x" RETURN ' ============================================================================== Zoom: IF MOUSE_LEFT_DOWN(1)=1 zmx = zmx+1 ELSE IF MOUSE_RIGHT_DOWN(1)=1 zmx = zmx-1: IF zmx < 1 THEN zmx = 1 ELSE IF MOUSE_RIGHT_DOWN(0)=1 CLIPBOARD_COPY 1: ' copie de la zone dans le clipboard EDIT 2: TOP 2,TOP(0)+10: LEFT 2,LEFT(0)+100: WIDTH 2,210 FONT_COLOR 2,128,0,0: FONT_SIZE 2,13 TEXT 2," Copié dans le clipboard !" WAIT 1500: DELETE 2 END_IF END_IF END_IF GOSUB Afi RETURN ' ============================================================================== Le programme est court (50 lignes) et simple. - On sélectionne à la souris la zone de l'écran qui intéresse, elle s'affiche avec un grossissement (arbitraire) de 4 Un clic gauche sur la zone augmente le zoom, un clic droit le diminue. Pour quitter: clic dans la bande supérieure de l'image. Rien d'autre n'est affiché que la zone sélectionnée. On peut donc en faire un petit exécutable discret. A vérifier: les deux chemins iv$ (IrfanView) et fr$ (fichier temporaire). PS: 19h50 ajout de la copie de la zone sélectionnée dans le presse-papier: clic droit sur la bande jaune du haut.
Dernière édition par JL35 le Mar 4 Nov 2014 - 20:09, édité 2 fois | |
|
sergeauze
Nombre de messages : 391 Age : 72 Localisation : Hautes Alpes France Date d'inscription : 09/01/2010
| Sujet: Re: Zoom d'une zone de l'écran Mar 4 Nov 2014 - 18:08 | |
| salut à tous Merci JL35 j'adopte ton code | |
|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Zoom d'une zone de l'écran Mar 4 Nov 2014 - 18:23 | |
| Salut sergeauze, au moins un amateur ! on ne te voit plus beaucoup ces temps-ci... J'ai ajouté ci-dessus la possibilité de copier la zone sélectionnée dans le presse-papier, donc les commandes en résumé: - clic gauche sur l'image: zoom avant - clic droit sur l'image: zoom arrière - clic droit sur le bandeau du haut: copie de l'image dans le presse-papier - clic gauche sur le bandeau: quitter. | |
|
Contenu sponsorisé
| Sujet: Re: Zoom d'une zone de l'écran | |
| |
|