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.
Un agrandisseur Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Un agrandisseur Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Un agrandisseur Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Un agrandisseur Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Un agrandisseur Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Un agrandisseur Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Un agrandisseur Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Un agrandisseur Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Un agrandisseur Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Un agrandisseur Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Un agrandisseur Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Un agrandisseur Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Un agrandisseur Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Un agrandisseur Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Un agrandisseur 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 du moment : -47%
SAMSUNG T7 Shield Bleu – SSD Externe 1 To ...
Voir le deal
89.99 €

 

 Un agrandisseur

Aller en bas 
+2
sergeauze
JL35
6 participants
AuteurMessage
JL35




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

Un agrandisseur Empty
MessageSujet: Un agrandisseur   Un agrandisseur EmptyVen 14 Mar 2014 - 17:11

Un agrandisseur Img10
Ou plutôt une loupe, pour voir en détail les pixels d'une zone de l'écran (une icône, une portion d'image, du texte etc.)
On sélectionne à la souris la zone à analyser, qui s'affiche grandeur nature dans un picture, et agrandie (ici 8 fois, mais c'est modulable) avec les pixels séparés dans un autre picture.
Ensuite, en cliquant sur un pixel (agrandi), on obtient sa position relative et ses composantes de couleurs.
Il faut disposer de IrfanView, pour la capture.
La zone à capturer peut être quelconque, mais c'est plutôt prévu pour des zones de quelques dizaines de pixels, genre une icône. Avec le facteur multiplicateur, ça devient vite envahissant !

Usage: cliquer le bouton 'Capturer', une croix apparaît au centre de l'écran, on la déplace à la souris sur le coin haut gauche de la capture, on clique, puis on re-clique sur le coin bas droit pour sélectionner.

Le programme ne fait qu'une soixantaine de lignes:
Code:
' Agrandir une zone de l'écran pour voir sa structure
LABEL Capt, Pixel
DIM iv$,x0%,y0%,r%,g%,b%,x1%,y1%,res%,xs%,ys%,f$,w%,h%,mult%,a$
f$ = "C:\Temp\ima.bmp"
iv$ = "C:\Progra~2\Irfanv~1\i_view32.exe "
mult% = 8: ' facteur de grossissement

WIDTH 0,60: HEIGHT 0,70: BORDER_SMALL 0: font_bold 0: CAPTION 0,"Capture"
BUTTON 1: HEIGHT 1,20: CAPTION 1,"Capturer": ON_CLICK 1,Capt
PICTURE 20: TOP 20,20: LEFT 20,0
2D_TARGET_IS 20: CLS: CLIPBOARD_COPY 20
PICTURE 30
ALPHA 5: TOP 5,10: LEFT 5,WIDTH(20)+20: FONT_SIZE 5,12: ON_CLICK 30,Pixel
ALPHA 6: TOP 6,35: LEFT 6,LEFT(5): FONT_SIZE 6,12
END
' ==============================================================================
Capt:
IF FILE_EXISTS(f$) = 1 THEN FILE_DELETE f$
EXECUTE_WAIT iv$ + "/capture=4 /convert="+f$
DimBmp(f$)
WIDTH 20,w%: HEIGHT 20,h%: LEFT 5,WIDTH(20)+40: LEFT 6,LEFT(5)
CAPTION 5,"Capture = "+STR$(w%)+" x " + STR$(h%)
TOP 30,h%+25: WIDTH 30,mult%*w%: HEIGHT 30,mult%*h%
WIDTH 0,950: HEIGHT 0,950
FILE_LOAD 20, f$
2D_TARGET_IS 30: CLS
FOR y0% = 0 TO HEIGHT(20)
    FOR x0% = 0 TO WIDTH(20)
        r%=COLOR_PIXEL_RED(20,x0%,y0%)
        g%=COLOR_PIXEL_GREEN(20,x0%,y0%)
        b%=COLOR_PIXEL_BLUE(20,x0%,y0%)
        x1%=x0%*mult%: y1% = y0%*mult%
        2D_PEN_COLOR r%,g%,b%: 2D_FILL_COLOR r%,g%,b%
        2D_RECTANGLE x1%,y1%,x1%+mult%-1,y1%+mult%-1
    NEXT x0%
    display
NEXT y0%
CAPTION 6,"Clic un pixel pour position et couleur"
RETURN
' ==============================================================================
Pixel:
x0% = MOUSE_X_LEFT_DOWN(30): y0% = MOUSE_Y_LEFT_DOWN(30)
r%=COLOR_PIXEL_RED(30,x0%,y0%)
g%=COLOR_PIXEL_GREEN(30,x0%,y0%)
b%=COLOR_PIXEL_BLUE(30,x0%,y0%)
x0% = INT(x0%/mult%): y0% = INT(y0%/mult%)
a$ = "x="+STR$(x0%)+"  y="+STR$(y0%)+CHR$(10)+"R="+STR$(r%)+"  G="+STR$(g%)+"  B="+STR$(b%)
CAPTION 6,a$
RETURN
' ==============================================================================
SUB DimBmp(f$)
' Dimensions d'une image bmp -> w%, h% (largeur, hauteur en pixels)
DIM_LOCAL v%(8)
IF VARIABLE("w%") = 0 THEN DIM w%
IF VARIABLE("h%") = 0 THEN DIM h%
FILEBIN_OPEN_READ 9, f$
    FILEBIN_POSITION 9, 18: FILEBIN_BLOCK_READ 9,8,v%(0)
    w% = v%(0)+256*v%(1)+65536*v%(2)+16777216*v%(3)
    h% = v%(4)+256*v%(5)+65536*v%(6)+16777216*v%(7)
FILEBIN_CLOSE 9
END_SUB
' ==============================================================================
Revenir en haut Aller en bas
sergeauze

sergeauze


Nombre de messages : 391
Age : 72
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

Un agrandisseur Empty
MessageSujet: Re: Un agrandisseur   Un agrandisseur EmptyVen 14 Mar 2014 - 20:40

salut
un magnifique programme
Je viens de le tester
Je vais l’étudier en profondeur et surement y trouver  quelques astuces
qui me permettront de finaliser celui sur lequel je travaille
Qui disait que c’était calme sur le forum
En secret se préparent   des choses nouvelles
Vous connaissez:" Mars qui rit malgre les averses ,prépare en secret le printemps"
De Panoramic  bien sur ,
Revenir en haut Aller en bas
http://sergeauze.blog-video.tv/
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Un agrandisseur Empty
MessageSujet: Re: Un agrandisseur   Un agrandisseur EmptyVen 14 Mar 2014 - 21:55

Joli, j'avais fais une loupe aussi dans un éditeur de sprites, mais je ne sais même plus si je l'avais publié quand je travaillais sur mon Barbarian...
Revenir en haut Aller en bas
JL35




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

Un agrandisseur Empty
MessageSujet: Re: Un agrandisseur   Un agrandisseur EmptyVen 14 Mar 2014 - 22:43

Merci à tous les deux, mais ce n'est pas bien compliqué, c'était histoire d'entretenir la flamme (et non pas la flemme).
Revenir en haut Aller en bas
sergeauze

sergeauze


Nombre de messages : 391
Age : 72
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

Un agrandisseur Empty
MessageSujet: Re: Un agrandisseur   Un agrandisseur EmptySam 15 Mar 2014 - 18:15

Salut
Je ne parviens  pas  à retrouver  comment  tu as procédè  pour créer  la mire de sélection .
Je trouve que c'est original .
Pourrais-tu me mettre  sur la voie
Revenir en haut Aller en bas
http://sergeauze.blog-video.tv/
jjn4

jjn4


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

Un agrandisseur Empty
MessageSujet: +++   Un agrandisseur EmptySam 15 Mar 2014 - 18:56

C'est bizarre, je ne comprends pas
pourquoi ça ne marche pas chez moi.
l'ordinateur me dit qu'il y a une erreur à la ligne 19
et qu'il ne trouve pas "C:\Progra~2\Irfanv~1\i_view32.exe "
et pourtant, i_view32.exe est bien à cet endroit.
Bizarre, bizarre...
 scratch alien scratch 
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Un agrandisseur Empty
MessageSujet: Re: Un agrandisseur   Un agrandisseur EmptySam 15 Mar 2014 - 19:19

Reconstruis le nom court chez toi. Il n'est peut-être pas le même que sur le système d'où vient le source. Ca m'a déjà fait ça. En effet, le com court dépend largement du contenu des différents dossiers.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
sergeauze

sergeauze


Nombre de messages : 391
Age : 72
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

Un agrandisseur Empty
MessageSujet: Re: Un agrandisseur   Un agrandisseur EmptySam 15 Mar 2014 - 20:02

Salut
J'ai parfois ce pb

le chemin chez moi , par exemple est:
" C:\Progra~1\Irfanv~1\i_view32.exe "
Faire aussi attention  au  " qui nos joue de tours
Un utilitaire :DOsname  m'a souvent bien rendu service
Revenir en haut Aller en bas
http://sergeauze.blog-video.tv/
JL35




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

Un agrandisseur Empty
MessageSujet: Re: Un agrandisseur   Un agrandisseur EmptySam 15 Mar 2014 - 20:50

Bonsoir (j'étais absent),

C'est vrai que le mieux est de recalculer le nom court à partir du chemin complet (sous xp IrfanView est sous Program Files, sous w7 Program files (x86)), il y a des subs pour ça, mais j'ai voulu faire court, mais on a ça par exemple, tout simple, avec le résultat dans le presse-papier:
Code:
SUB FileShort(f$)
' Chemin court fichier f$ -> clipboard
DIM_LOCAL fb$: fb$ = "C:\Temp\Carfich.bat"
FILE_OPEN_WRITE 9,fb$
    FILE_WRITELN 9, "@echo off"
    FILE_WRITELN 9, "FOR %%? IN ("+CHR$(34)+f$+CHR$(34)+") DO ECHO %%~sf? | clip"
FILE_CLOSE 9
EXECUTE_WAIT fb$: FILE_DELETE fb$
END_SUB
Il suffit de mettre en tête le chemin complet, qui est pour moi:
Code:
fiv$ = "C:\Program Files (x86)\IrfanView\i_view32.exe"
et de rajouter juste avant l'Execute_Wait iv$:
Code:
FileShort(fiv$): iv$ = CLIPBOARD_STRING_PASTE$
et ne pas oublier de rajouter un espace dans les paramètres, avant le /capture <- c'est inutile finalement, la chaîne rendue se termine par un caractère 10 (linefeed) qui fait l'affaire comme séparateur.


@jjn4 s'il ne le trouve pas, c'est que ton chemin court n'est pas bon (probablement Progra~1 au lieu de Progra~2 chez moi), mais le mieux est de le faire calculer par la bécane...

@sergeauze,
Il n'y a aucune difficulté ni astuce cachée, j'analyse l'image d'origine pixel par pixel, du haut en bas et de gauche à droite, je récupère la couleur du pixel lu, et je crée un petit carré de la même couleur dans l'image finale (ici 7x7 pixels pour un grossissement de 8 ), en laissant un pixel vide pour faire la séparation avec le suivant, chaque emplacement du carré destinataire étant séparé de 8 pixels du précédent, en largeur et en hauteur.

Il faut d'abord dimensionner le picture destinataire en fonction des dimensions de l'image d'origine (ici 8 fois plus grand pour un grossissement de 8 ).
Revenir en haut Aller en bas
jjn4

jjn4


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

Un agrandisseur Empty
MessageSujet: ???   Un agrandisseur EmptySam 15 Mar 2014 - 21:36

Quelle est la différence entre Progra~1 et Progra~2   ??????
 scratch  scratch  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

Un agrandisseur Empty
MessageSujet: Re: Un agrandisseur   Un agrandisseur EmptySam 15 Mar 2014 - 21:41

Progra~1 est l'abréviation de 'Program Files' (emplacement des programmes sous Windows Vista et précédents)
Progra~2 est l'abréviation de 'Program Files (x86)' (emplacement des programmes sous Windows 7, et suivants je suppose)
Ces abréviations sont celles qui sont données par le système dans les noms courts de chemins;

Remarque: sous Windows 7 j'ai les deux: Program Files, et Program Files (x86), les programmes qui étaient installés auparavant dans Program Files (sous XP) sont installés maintenant dans Program Files (x86)... c'est comme ça sous W7... simple, non ?
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Un agrandisseur Empty
MessageSujet: Re: Un agrandisseur   Un agrandisseur EmptyDim 16 Mar 2014 - 1:23

La construction d'un nom court est légèrement plus complexe que ç&. Et c'est bien pour ça qu'il y a des fonctions Microsoft qui le font, et toute une série de codes en différents lengages qui essaient de simuler leur comportement, à défaut de le reproduire avec exactitude.

Bien sûr, dans le cas de "Program Files", ton explication semble pertinente. Mais, pour la découverte, essaie de rajouter un dossier "Program Files bis", puis demande au système de te donner les noms courts de ces 3 dossiers...

Pour faire court, le chiffre après le signe "~" représente le numéro d'ordre dans lequel on trouve le dossier concerné dans le dossier parent, avec les 6 premier caractères étant identiques. Et encore - s'il y a plus de 9 dossiers (ou fichiers) dans le dossier parent dont les 6 premiers caractères sont identiques, on a un nombre de 2 chiffres après la tilde, et forcément une prise en compte des 5 premiers caractères pour regrouper tout cela, ce qui change tout à nouveau.

Mais ce n'est pas tout, malheureusement. Car sous XP, Vista, Seven etc, on peut utiliser des caractères dans les noms de fichiers qu'on ne pouvait pas utiliser sous MS-DOS ! Et donc, tous ces caractères sont éliminés du nom court, et ce mécanisme change également le calcul du nombre placé après la tilde. Pour comprendre, créez, dans un même dossier, les fichiers:
Citation :

aaaaa.dat
aaaaaa.dat
aaaaaaa.dat
aaaaa_a.dat
aaaa_aa.dat
aaaaa-a.dat
aaaa-aa.dat
aaaa-_a.dat
puis calculez le nom court de tout ça. Vous serez surpris du résultat.

Et pire: cela ne dépend non seulement du nom lui-même et de sa position dans le fichier (qui d'ailleurs n'est pas nécessairement lié à l'ordre alphabétique ou ASCII !). Cela dépend également du moment de création du fichier. Car enfin, on ne va pas changer le nom court d'un fichier existant, sous prétexte de créer un autre fichier dont les 6 premier caractères seraient identiques ! Dans l'exemple ci-dessus, le résultat n'est pas le même si vous créez ces fichiers dans un ordre différent !

Donc, mon conseil, réitéré avec insistance, est de ne jamais reprendre un nom court par copier/coller d'un autre dossier en essayant de changer une partie du nom, de ne jamais prendre un nom court dans un source établi sur une autre machine (via le forum par exemple), mais de toujours reconstruire le nom court dynamiquement, au minimum lors du démarrage du programme si l'on a la certitude que le contenu du dossier parent ne change pas pendant la durée de vie du programme, ou de le reconstruire immédiatement avant chaque utilisation si le dossier parent est appelé à évoluer en cours de vie du programme.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
JL35




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

Un agrandisseur Empty
MessageSujet: Re: Un agrandisseur   Un agrandisseur EmptyDim 16 Mar 2014 - 9:50

Bien d'accord avec toi Klaus sur le fait qu'il ne faut pas utiliser le nom court de quelqu'un d'autre, mais le générer systématiquement soi-même (le faire générer par son propre système) avec une sub adéquate.
Revenir en haut Aller en bas
jjn4

jjn4


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

Un agrandisseur Empty
MessageSujet: +++   Un agrandisseur EmptyDim 16 Mar 2014 - 14:42

Merci pour toutes ces explications très instructives.
D'ailleurs, ça y est, ça marche.
Et c'est vrai que le programme est joli.
 cheers alien king 
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
papydall

papydall


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

Un agrandisseur Empty
MessageSujet: Re: Un agrandisseur   Un agrandisseur EmptyDim 16 Mar 2014 - 17:35

Je viens de tester : intéressant.
Merci JL35.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé





Un agrandisseur Empty
MessageSujet: Re: Un agrandisseur   Un agrandisseur Empty

Revenir en haut Aller en bas
 
Un agrandisseur
Revenir en haut 
Page 1 sur 1

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: