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.
Dessin 2D: largeur de trait (résolu !) Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Dessin 2D: largeur de trait (résolu !) Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Dessin 2D: largeur de trait (résolu !) Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Dessin 2D: largeur de trait (résolu !) Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Dessin 2D: largeur de trait (résolu !) Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Dessin 2D: largeur de trait (résolu !) Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Dessin 2D: largeur de trait (résolu !) Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Dessin 2D: largeur de trait (résolu !) Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Dessin 2D: largeur de trait (résolu !) Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Dessin 2D: largeur de trait (résolu !) Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Dessin 2D: largeur de trait (résolu !) Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Dessin 2D: largeur de trait (résolu !) Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Dessin 2D: largeur de trait (résolu !) Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Dessin 2D: largeur de trait (résolu !) Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Dessin 2D: largeur de trait (résolu !) 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 :
LEGO Icons 10331 – Le martin-pêcheur
Voir le deal
35 €

 

 Dessin 2D: largeur de trait (résolu !)

Aller en bas 
+2
Jean Claude
JL35
6 participants
Aller à la page : 1, 2  Suivant
AuteurMessage
JL35




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

Dessin 2D: largeur de trait (résolu !) Empty
MessageSujet: Dessin 2D: largeur de trait (résolu !)   Dessin 2D: largeur de trait (résolu !) EmptyMer 20 Juin 2018 - 21:02

Y a-t'il moyen de connaître la largeur de trait courante (fixée par 2D_PEN_WIDTH n) ?
Je suis dans une sub qui dessine, la largeur de trait est fixée dans le programme appelant,
et j'ai besoin de la connaître..

J'ai essayé w = 2D_PEN_WIDTH(N), mais ça ne marche pas ...


Dernière édition par JL35 le Ven 22 Juin 2018 - 17:24, édité 1 fois
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

Dessin 2D: largeur de trait (résolu !) Empty
MessageSujet: Re: Dessin 2D: largeur de trait (résolu !)   Dessin 2D: largeur de trait (résolu !) EmptyMer 20 Juin 2018 - 21:08

Salut JL35,
2D_PEN_WIDTH(N), ben non ça n'existe pas encore.

Seul moyen, à mon avis, c'est d'utiliser une variable (PenWidh%) qui stocke la valeur à chaque fois que le programme utilise 2D_PEN_WIDTH N.

A+

rectification: 2D_PEN_WIDTH n'est pas affecté à un objet.


Dernière édition par Jean Claude le Jeu 21 Juin 2018 - 10:52, édité 1 fois
Revenir en haut Aller en bas
JL35




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

Dessin 2D: largeur de trait (résolu !) Empty
MessageSujet: Re: Dessin 2D: largeur de trait (résolu !)   Dessin 2D: largeur de trait (résolu !) EmptyMer 20 Juin 2018 - 22:16

Salut Jean Claude,

Bien sûr il y a des moyens... mais je voudrais que la sub soit indépendante de l'appelant.

Bon, je vais essayer de trouver un artifice...
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

Dessin 2D: largeur de trait (résolu !) Empty
MessageSujet: Re: Dessin 2D: largeur de trait (résolu !)   Dessin 2D: largeur de trait (résolu !) EmptyMer 20 Juin 2018 - 23:31

C’est un peu tiré par les cheveux, mais ça marche !

Code:

rem ============================================================================
picture 10 : full_space 10 : 2d_target_is 10
2d_pen_width 5  : message "Largeur du trait : " + str$(Pen_Width())
2d_pen_width 20 : message "Largeur du trait : " + str$(Pen_Width())
2d_pen_width 1  : message "Largeur du trait : " + str$(Pen_Width())
end
rem ============================================================================
FNC Pen_Width()
    dim_local i,c,w
    2d_pen_color 0,0,0 : 2d_line 100,100,200,100
    for i = 100-10 to 100+10
        c = color_pixel_blue(10,110,i)
        if c <> 255 then w = w + 1
    next i  
    2d_pen_color 255,255,255 : 2d_line  100,100,200,100
    result w

END_FNC
rem ============================================================================


Quant à son utilisation dans une SUB, ça dépend si on a des cheveux ou si on est chauve ! tongue
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

Dessin 2D: largeur de trait (résolu !) Empty
MessageSujet: Re: Dessin 2D: largeur de trait (résolu !)   Dessin 2D: largeur de trait (résolu !) EmptyJeu 21 Juin 2018 - 7:48

C'est une vrai astuce Papydall, il fallait y penser...

A+
Revenir en haut Aller en bas
JL35




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

Dessin 2D: largeur de trait (résolu !) Empty
MessageSujet: Re: Dessin 2D: largeur de trait (résolu !)   Dessin 2D: largeur de trait (résolu !) EmptyJeu 21 Juin 2018 - 9:30

Oui papydall, c'est bien la solution à laquelle j'avais pensé au départ.

Mais... tu pollues le picture cible (qui peut contenir une image, ou autre) en y traçant un trait.
Je pense à une solution sans pollution, je regarde ça.

Edit:
J'ai bien une solution, mais qui ne me satisfait qu'à moitié.
Je trace une ligne sur le picture après avoir sauvegardé la zone dans un IMAGE, je mesure puis je restitue la zone ensuite:
Code:
DIM wt%
PICTURE 1: FULL_SPACE 1: color 1,128,255,255
2D_TARGET_IS 1: 2D_PEN_WIDTH 13
Eptrait()
MESSAGE STR$(wt%)
END

SUB Eptrait()
  ' Epaisseur de trait courante dans la cible 2d, rendue dans wt%
  DIM_LOCAL im%,p%,y%
  p% = NUMBER_2D_TARGET: IF VARIABLE("wt%") = 0 THEN DIM wt%
  im%=950: IMAGE im%: 2D_IMAGE_COPY im%,0,0,15,25
  2D_PEN_COLOR 1,1,1: 2D_LINE 0,12,5,12
  wt% = 0: y% = 0
  WHILE COLOR_PIXEL_RED(p%,0,y%)<>1: y%=y%+1: END_WHILE
  WHILE COLOR_PIXEL_RED(p%,0,y%)=1: wt% = wt%+1: y%=y%+1: END_WHILE
  2D_IMAGE_PASTE im%,0,0: DELETE im%
END_SUB
Inconvénient:
Je récupère la largeur de trait, mais je perds la couleur implicite...

@papydall,
Je l'ai appelé Eptrait, puisque tu as le copyright sur Pen_width...
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

Dessin 2D: largeur de trait (résolu !) Empty
MessageSujet: Re: Dessin 2D: largeur de trait (résolu !)   Dessin 2D: largeur de trait (résolu !) EmptyJeu 21 Juin 2018 - 11:02

Bonjour à tous,

scratch
Pas facile...

@JL35,
J'ai trouvé, peut-être, une anomalie avec l'utilisation de 2D_IMAGE_COPY im%,0,0,5,25 , ne faudrait-il pas 2D_IMAGE_COPY im%,0,0,0,25 vu que tu recolles à la position 0,0. Question

A+
Revenir en haut Aller en bas
JL35




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

Dessin 2D: largeur de trait (résolu !) Empty
MessageSujet: Re: Dessin 2D: largeur de trait (résolu !)   Dessin 2D: largeur de trait (résolu !) EmptyJeu 21 Juin 2018 - 11:22

???
Mais non Jean Claude, pas d'anomalie dans le IMAGE_COPY...
Simplement je trace un trait de 5 pixels de long, mais si le trait est épais (20 pixels) sa longueur réelle est plus importante: 15 pixels, du fait qu'il n'est pas droit à l'extrémité mais arrondi, et il dépasse la valeur théorique.
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

Dessin 2D: largeur de trait (résolu !) Empty
MessageSujet: Re: Dessin 2D: largeur de trait (résolu !)   Dessin 2D: largeur de trait (résolu !) EmptyJeu 21 Juin 2018 - 11:30

Bon et bien je n'ai pas trouvé... Embarassed

Juste une question: Un CLS 2D_CLEAR ne serait-il pas nécéssaire avant d'afficher la copie de l'IMAGE ?

A+
Revenir en haut Aller en bas
JL35




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

Dessin 2D: largeur de trait (résolu !) Empty
MessageSujet: Re: Dessin 2D: largeur de trait (résolu !)   Dessin 2D: largeur de trait (résolu !) EmptyJeu 21 Juin 2018 - 11:33

Non, ça marche comme j'ai mis plus haut.
C'est la largeur du trait qui m'avait trompé
ci-dessous, 2 traits de 40 pixels de large, épaisseurs 2 et 20 pixels:
Dessin 2D: largeur de trait (résolu !) Exempl10
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

Dessin 2D: largeur de trait (résolu !) Empty
MessageSujet: Re: Dessin 2D: largeur de trait (résolu !)   Dessin 2D: largeur de trait (résolu !) EmptyJeu 21 Juin 2018 - 11:39

Oui je viens de tester à nouveau, de 1 à 20 tout fonctionne. Very Happy

A+
Revenir en haut Aller en bas
JL35




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

Dessin 2D: largeur de trait (résolu !) Empty
MessageSujet: Re: Dessin 2D: largeur de trait (résolu !)   Dessin 2D: largeur de trait (résolu !) EmptyJeu 21 Juin 2018 - 14:25

Dommage qu'on ne puisse pas récupérer avec les instructions inverses les données courantes: épaisseur de trait (2D_PEN_WIDTH()), couleur de trait (2D_PEN_COLOR()) etc. mais bon, ce n'est sans doute pas très demandé.
C'est bien enregistré quelque part, mais pas accessible.
Revenir en haut Aller en bas
JL35




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

Dessin 2D: largeur de trait (résolu !) Empty
MessageSujet: Re: Dessin 2D: largeur de trait (résolu !)   Dessin 2D: largeur de trait (résolu !) EmptyJeu 21 Juin 2018 - 15:19

Finalement on peut récupérer la largeur de trait en conservant la couleur courante (que l'on peut également récupérer au besoin en l'extrayant de la sub):
Code:
DIM wt%,rt%,gt%,bt%
PICTURE 1: FULL_SPACE 1: color 1,180,255,255
2D_TARGET_IS 1: 2D_PEN_WIDTH 20: 2D_PEN_COLOR 0,0,255
Eptrait()
MESSAGE STR$(wt%)
END
' ============================================================
SUB Eptrait()
  ' Epaisseur de trait courante dans la cible 2d, rendue dans wt%
  ' (on pourrait au besoin récupérer également la couleur de trait rt%,gt%,bt%)
  DIM_LOCAL im%,p%,y%,wp%,hp%,rt%,gt%,bt%
  p% = NUMBER_2D_TARGET: IF VARIABLE("wt%") = 0 THEN DIM wt%
  wp% = 15: hp% = 25
  im%=950: IMAGE im%: 2D_IMAGE_COPY im%,0,0,wp%+10,hp%+10
  2D_LINE 0,0,wp%,0: rt% = COLOR_PIXEL_RED(p%,0,0): gt%=COLOR_PIXEL_GREEN(p%,0,0)
  bt%=COLOR_PIXEL_BLUE(p%,0,0): ' couleur de trait actuelle
  2D_PEN_COLOR 1,1,1: 2D_LINE 0,12,5,12
  wt% = 0: y% = 0
  WHILE COLOR_PIXEL_RED(p%,0,y%)<>1: y%=y%+1: END_WHILE
  WHILE COLOR_PIXEL_RED(p%,0,y%)=1: wt% = wt%+1: y%=y%+1: END_WHILE
  2D_IMAGE_PASTE im%,0,0: DELETE im%
  2D_PEN_COLOR rt%,gt%,bt%
END_SUB
' ============================================================
C'est un peu acrobatique et tiré par les cheveux comme dit papydall (quoique moi je ne risque plus grand chose de ce côté-là), mais ça marche, à défaut d'autre chose.
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

Dessin 2D: largeur de trait (résolu !) Empty
MessageSujet: Re: Dessin 2D: largeur de trait (résolu !)   Dessin 2D: largeur de trait (résolu !) EmptyJeu 21 Juin 2018 - 17:28

JL35 a écrit:
C'est un peu acrobatique et tiré par les cheveux comme dit papydall (quoique moi je ne risque plus grand chose de ce côté-là), mais ça marche, à défaut d'autre chose.

@JL35
Une surprise pour toi  :

Essaie ton dernier code avec
2D_PEN_WIDTH 2
2D_PEN_WIDTH 4
2D_PEN_WIDTH 6


Maintenant s'il te reste encore un ou deux cheveux, tu peux t'en servir ! 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

Dessin 2D: largeur de trait (résolu !) Empty
MessageSujet: Re: Dessin 2D: largeur de trait (résolu !)   Dessin 2D: largeur de trait (résolu !) EmptyJeu 21 Juin 2018 - 17:48

Mince alors, papydall, il a fallu que tu essaies juste les 3 valeurs qui ne marchent pas !
Bon, je vais me recoiffer...
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

Dessin 2D: largeur de trait (résolu !) Empty
MessageSujet: Re: Dessin 2D: largeur de trait (résolu !)   Dessin 2D: largeur de trait (résolu !) EmptyJeu 21 Juin 2018 - 18:02

Pour les autres valeurs, c’est OK.
Moi je cherche le KO, nuance !
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




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

Dessin 2D: largeur de trait (résolu !) Empty
MessageSujet: Re: Dessin 2D: largeur de trait (résolu !)   Dessin 2D: largeur de trait (résolu !) EmptyJeu 21 Juin 2018 - 18:10

Je sais bien, mauvais esprit !

Mais Eureka ! (comme disait Archimède, enfin, je crois, je l'ai peu connu), j'ai trouvé !
C'est toujours à cause de ces arrondis en début et fin de ligne, je ne faisais pas mon test assez loin dans la ligne.
Voici donc :
Code:
DIM wt%,rt%,gt%,bt%
PICTURE 1: FULL_SPACE 1: color 1,180,255,255
2D_TARGET_IS 1: 2D_PEN_WIDTH 12: 2D_PEN_COLOR 0,0,255
Eptrait()
MESSAGE STR$(wt%)
END
' ============================================================
SUB Eptrait()
  ' Epaisseur de trait courante dans la cible 2d, rendue dans wt%
  ' (on pourrait au besoin récupérer également la couleur de trait rt%,gt%,bt%)
  DIM_LOCAL im%,p%,y%,wp%,hp%,rt%,gt%,bt%
  p% = NUMBER_2D_TARGET: IF VARIABLE("wt%") = 0 THEN DIM wt%
  wp% = 15: hp% = 25
  im%=950: IMAGE im%: 2D_IMAGE_COPY im%,0,0,wp%+10,hp%+10
  2D_LINE 0,0,wp%,0: rt% = COLOR_PIXEL_RED(p%,0,0): gt%=COLOR_PIXEL_GREEN(p%,0,0)
  bt%=COLOR_PIXEL_BLUE(p%,0,0): ' couleur de trait actuelle
  2D_PEN_COLOR 1,1,1: 2D_LINE 0,12,5,12
  wt% = 0: y% = 0
  WHILE COLOR_PIXEL_RED(p%,3,y%)<>1: y%=y%+1: END_WHILE
  WHILE COLOR_PIXEL_RED(p%,3,y%)=1: wt% = wt%+1: y%=y%+1: END_WHILE
  2D_IMAGE_PASTE im%,0,0: DELETE im%
  2D_PEN_COLOR rt%,gt%,bt%
END_SUB
' ============================================================

A toi de jouer papydall (je ne crie pas victoire tout de suite, avec toi on ne sait jamais...)
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

Dessin 2D: largeur de trait (résolu !) Empty
MessageSujet: Re: Dessin 2D: largeur de trait (résolu !)   Dessin 2D: largeur de trait (résolu !) EmptyJeu 21 Juin 2018 - 19:24

JL35 a écrit:
A toi de jouer papydall (je ne crie pas victoire tout de suite, avec toi on ne sait jamais...)

Bon, je me fais complice : dans le cas  où ça cloche, on sera deux à assumer …

Code:

rem ============================================================================
rem                     Pen_Width()
rem Fonction pour récuperer la largeur du tracé définie par la commande 2D_PEN_WIDTH
rem                   JL35 / PAPYDALL
rem ============================================================================
rem Appel : Pen_Width()
' Exemple d'utilisation
PICTURE 10 : FULL_SPACE 10 : color 10,180,255,255 : 2D_TARGET_IS 10 : 2D_PEN_WIDTH 5
2d_pen_width Pen_Width() + 15 : 2d_circle 300,200,150
font_size 10,16
print_target_is 10 : print_locate 200,180 : print "Epaisseur du trait : " + str$(Pen_Width())

END
rem ============================================================================
' Retourne la largeur du tracé
FNC Pen_Width()
    DIM_LOCAL im%,p%,y%,wt%
    p% = NUMBER_2D_TARGET
    im% = 9999 : IMAGE im% : 2D_IMAGE_COPY im%,0,0,25,35
    2D_PEN_COLOR 1,1,1 : 2D_LINE 0,12,5,12
    wt% = 0: y% = 0
    WHILE COLOR_PIXEL_RED(p%,3,y%) <> 1 : y%  = y%  + 1 : END_WHILE
    WHILE COLOR_PIXEL_RED(p%,3,y%) =  1 : wt% = wt% + 1 : y% = y% + 1 : END_WHILE
    2D_IMAGE_PASTE im%,0,0 : DELETE im%
    RESULT wt%
END_FNC
rem ============================================================================
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

Dessin 2D: largeur de trait (résolu !) Empty
MessageSujet: Re: Dessin 2D: largeur de trait (résolu !)   Dessin 2D: largeur de trait (résolu !) EmptyJeu 21 Juin 2018 - 20:02

Bonsoir,

Je vous laisse à vos responsabilités respectives pour quelques jours, car à la retraite on a le temps de rien Razz  donc je pars en vacances. NA! geek

Au passage: je trouve que WIDTH n'est pas adapté comme nom anglais à épaisseur (thickness).
Car en fait on parle bien d'une épaisseur, soit à l'horizontale (j'aime) HEIGHT et à la verticale (J'aime moins) WIDTH.

Bon, c'est juste pour être désagréable...  geek
lol!

A bientôt !
Revenir en haut Aller en bas
JL35




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

Dessin 2D: largeur de trait (résolu !) Empty
MessageSujet: Re: Dessin 2D: largeur de trait (résolu !)   Dessin 2D: largeur de trait (résolu !) EmptyJeu 21 Juin 2018 - 20:40

Oui papydall, mais tu perds la couleur du tracé dans le 2D_TARGET ! On appelle la fonction et on a changé de couleur... ce que j'ai essayé de sauvegarder avec mon système.
(j'utilise une sub parce que je suis sur une vieille version de l'éditeur qui n'a pas encore les fonctions... Embarassed , mais le principe est le même)

@ Jean Claude
tu es sûr que tu as bien terminé tous tes travaux pharaoniques, avant de songer à partir en vacances ?
Pour les noms de fonctions, tu pinailles un peu, quand le trait est vertical c'est bien une largeur ! Very Happy
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

Dessin 2D: largeur de trait (résolu !) Empty
MessageSujet: Re: Dessin 2D: largeur de trait (résolu !)   Dessin 2D: largeur de trait (résolu !) EmptyJeu 21 Juin 2018 - 20:46

JL35 a écrit:
tu es sûr que tu as bien terminé tous tes travaux pharaoniques, avant de songer à partir en vacances ?

Oui, ça c'est fait et je suis très content du résultat de mon travail !
Je me souviens de ton avertissement de ne pas se rater...

Bon ! il faut que je résiste à ce forum qui m'accapare...

à bientôt.

Cool sunny
Revenir en haut Aller en bas
JL35




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

Dessin 2D: largeur de trait (résolu !) Empty
MessageSujet: Re: Dessin 2D: largeur de trait (résolu !)   Dessin 2D: largeur de trait (résolu !) EmptyJeu 21 Juin 2018 - 21:13

Eh bien Jean Claude,
Bonnes Vacances !
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

Dessin 2D: largeur de trait (résolu !) Empty
MessageSujet: Re: Dessin 2D: largeur de trait (résolu !)   Dessin 2D: largeur de trait (résolu !) EmptyJeu 21 Juin 2018 - 23:34

@ JC
Quand on est en vacances, on n’a plus la moindre seconde comme temps libre.
Profite bien de tes vacances.
Tu nous raconteras tout ça au retour avec des beaux codes.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
silverman

silverman


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

Dessin 2D: largeur de trait (résolu !) Empty
MessageSujet: Re: Dessin 2D: largeur de trait (résolu !)   Dessin 2D: largeur de trait (résolu !) EmptyVen 22 Juin 2018 - 14:21

La couleur est correctement conservée avec ce code:

Code:
dim j,colorpen

form 55 : 2d_target_is 55 : left 55,500 : top 55,40 : 2d_pen_width 10 :'

picture 123 : 2d_target_is 123 :' full_space 123

for j=1 to 20
  2d_pen_width j
  2D_PEN_COLOR int(rnd(254)+1),int(rnd(254)+1),int(rnd(254)+1)
  2d_line 10,10,10,50 :' trace un trait de couleur aléatoire
  colorpen = Eptrait(123) :' retrouve l'épaisseur du trait
  2d_line 50,10,50,50 :' la couleur du stylo a été conservée
  message "Eptrait = "+str$(colorpen)  :' affichage
next j
to_foreground  0 : message "Epaisseur du trait dans le form  0 : "+str$(Eptrait(0))    :' en anvant plan car l'objet à tester est un form !!!
to_foreground 55 : message "Epaisseur du trait dans le form 55 : "+str$(Eptrait(55))  :' en anvant plan car l'objet à tester est un form !!!

END
fnc Eptrait(current_2d)
 ' NB : Si 'current_2d' est un form, celui-ci doit OBLIGATOIREMENT être en avant-plan, sinon le resultat sera égal à 0
 dim_local free_image1,free_image2,r,v,b,i,wt%,c,save_current_2d
 save_current_2d=number_2d_target
 free_image1=998 : image free_image1
 free_image2=999 : image free_image2
 2d_target_is current_2d
 2d_image_copy free_image1,0,0,21,21          :' sauvegarde le fond de l'image
 2d_image_copy free_image2,screen_x,screen_y,screen_x+21,screen_y+21  :' capture une zone vide, toute blanche
    '
    2d_point 0,0                              :' sauvegarde la couleur du stylo
    r=color_pixel_red(current_2d,0,0)
    v=color_pixel_green(current_2d,0,0)
    b=color_pixel_blue(current_2d,0,0)
    '
    2d_image_paste free_image2,0,0            :' efface la zone de travail
    2D_PEN_COLOR 1,1,1 : 2D_line 10,10,10,11  :' trace un trait noir d'épaisseur X
    '
    for i = 0 to 19                            :' retrouve l'épaisseur X du trait
        c = color_pixel_blue(current_2d,i,10)
        if c = 1
          wt% = wt% + 1
        end_if
    next i
    '
 2d_image_paste free_image1,0,0                :' restaure le fond de l'image
 delete free_image1
 delete free_image2
 2D_PEN_COLOR r,v,b                            :' restaure la couleur du stylo
 2d_target_is save_current_2d
 result wt%
end_fnc
Revenir en haut Aller en bas
JL35




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

Dessin 2D: largeur de trait (résolu !) Empty
MessageSujet: Re: Dessin 2D: largeur de trait (résolu !)   Dessin 2D: largeur de trait (résolu !) EmptyVen 22 Juin 2018 - 16:08

C'est ce que j'ai fait dans ma sub d'hier à 18h10. Commencer par tracer un trait dans la couleur courante, mémoriser sa couleur, mesurer la largeur de trait d'une couleur donnée (1,1,1), et restaurer la couleur d'origine.
Ta méthode semble est un peu plus rigoureuse que la mienne, puisque tu traces le trait de mesure témoin sur fond rigoureusement blanc.
Revenir en haut Aller en bas
Contenu sponsorisé





Dessin 2D: largeur de trait (résolu !) Empty
MessageSujet: Re: Dessin 2D: largeur de trait (résolu !)   Dessin 2D: largeur de trait (résolu !) Empty

Revenir en haut Aller en bas
 
Dessin 2D: largeur de trait (résolu !)
Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» Aide-mémoire des mots-clés Panoramic
» Largeur et hauteur d'une image JPG ou BMP
» largeur d'image chargée non conforme ?
» Je ne comprend pas pourquoi la largeur de la scene 3d change
» Dessin 2d

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: