Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

position pixel

16 réponses
Avatar
John-Pet
Bonjour

supposons deux points sur une picturebox
je dessine une ligne droite entre ces deux points
comment connaitre la position de chaques pixels de cette droite

en faite c'est pour tester la couleur des pixels de cette droite
fictive

merci
JP

--
Adresse mail : john-pet@wanadoo.fr
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net

10 réponses

1 2
Avatar
LE TROLL
Bonjour,

Quand tu écris ta ligne :
Line(x1, y) - (x2, y), couleur

Ben, pour que ce soit une ligne droite (puisque deux points), les x ou
les y seront fixes, ainsi tu as ta première donnée qui ne va ps varier
(ligne ou colonne), pour l'autre, tu connais aussi les position, puisque tu
as le début et la fin, donc les pixels seront inclus entre le début et la
fin, manifestement tu donnes la réponse dans ta question, exemple :

dim x1 as long
dim x2 as long
dim y as long
dim i as long
dim c as long
x1 = 10 ' colonne 10
x2 = 20 ' colonne 20
y = 100 ' ligne 100 = horizontale
for i = x1 to x2
c = Point(i, y) ' couleur
next i

--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"John-Pet" a écrit dans le message de
news:
Bonjour

supposons deux points sur une picturebox
je dessine une ligne droite entre ces deux points
comment connaitre la position de chaques pixels de cette droite

en faite c'est pour tester la couleur des pixels de cette droite fictive

merci
JP

--
Adresse mail :
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net




Avatar
Vincent Guichard
Le 07/01/2010 13:00, John-Pet a écrit :
Bonjour


Bonjour,

supposons deux points sur une picturebox
je dessine une ligne droite entre ces deux points
comment connaitre la position de chaques pixels de cette droite



Les droites sont communément tracées en utilisant l'algo de Bresenham ,
tu peux faire une recherche dessus. D'autres algorithmes existent, mais
je crois que c'est celui là qui est utilisé dans les "line" de VB6.

en faite c'est pour tester la couleur des pixels de cette droite fictiv e



Est-ce que tu considères la droite "réelle" (au sens mathématique) ou
une approximation traçable (par l'algo sus-nommé par exemple)?

Par exemple, si on considère le segment (0,0)-(6,4), la droite de
Bresenham comprendra les pixels (0,0), (1,1), (2,1), (3,2), (4,3), (5,3)
et (6,4) (soit 7 pixels), alors que la droite réelle passe aussi dans
les pixels (1,0), (2,2), (4,2) et (5,4) (soit 11 pixels) (en se
limittant au rectangle inscrit). Et si la droite réelle passe par un
"coin", est-ce que tu veux les pixels de part et d'autre?

merci
JP




Vincent Guichard
Avatar
LE TROLL
Ah, précisions, oui, une ligne droite peut être en diagonale, pour une ligne
droite il faudra alors faire deux boucles : une des x et dedans l'autre de y
par exemple.

Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://irolog.free.fr
_______________________
.
.


"LE TROLL" <le a écrit dans le message de
news:
Bonjour,

Quand tu écris ta ligne :
Line(x1, y) - (x2, y), couleur

Ben, pour que ce soit une ligne droite (puisque deux points), les x ou
les y seront fixes, ainsi tu as ta première donnée qui ne va ps varier
(ligne ou colonne), pour l'autre, tu connais aussi les position, puisque
tu as le début et la fin, donc les pixels seront inclus entre le début et
la fin, manifestement tu donnes la réponse dans ta question, exemple :

dim x1 as long
dim x2 as long
dim y as long
dim i as long
dim c as long
x1 = 10 ' colonne 10
x2 = 20 ' colonne 20
y = 100 ' ligne 100 = horizontale
for i = x1 to x2
c = Point(i, y) ' couleur
next i

--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://irolog.free.fr
_______________________
.
.


"John-Pet" a écrit dans le message de
news:
Bonjour

supposons deux points sur une picturebox
je dessine une ligne droite entre ces deux points
comment connaitre la position de chaques pixels de cette droite

en faite c'est pour tester la couleur des pixels de cette droite fictive

merci
JP

--
Adresse mail :
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net







Avatar
at
LE TROLL a écrit :
Ah, précisions, oui, une ligne droite peut être en diagonale, pour une ligne
droite il faudra alors faire deux boucles : une des x et dedans l'autre de y
par exemple.




Je me demande en faisant ainsi si on va retrouver exactement et à coup
sûr les points de la ligne dessinée à l'écran.
Avatar
LE TROLL
Bonjour At,

Ben normalement, car j'ai pas mal dessiné à l'écran au pixel, à pixels
de départ et d'arrivé égaux, il repasse toujours par le même chemin,
exemple, tu luis dis (car il parle) :

fait ligne de c10, l10 à c12, l12
if va faire c10,l10 + c11,l11 + c12, l12
ou
fait ligne de c10, l10 à c12, l10
if va faire c10,l10 + c11,l10 + c12, l10

Et s'il suit sa ligne, il aura la couleur de sa ligne...

Nonobstant, je suis toujours réservé quant à écrire dans une Picture boxe,
certes on peut, mais la feuille s'y prédestine davantage qu'un objet fait
pour montrer avant tout des images...
Il y a pas mal de situations, où, si la personne disait in fine ce qu'elle
veut faire, la solution la plus appropriée serait autre...

Tiens, vois ici, la seconde et troisième image, tout est dessiné au pixel
sur la form (j'en ai "bavé") :

http://irolog.free.fr/irolog_vente/astro_v/index.htm" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://irolog.free.fr/irolog_vente/astro_v/index.htm

Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"at" a écrit dans le message de
news:4b46f45c$0$17494$
LE TROLL a écrit :
Ah, précisions, oui, une ligne droite peut être en diagonale, pour une
ligne droite il faudra alors faire deux boucles : une des x et dedans
l'autre de y par exemple.




Je me demande en faisant ainsi si on va retrouver exactement et à coup sûr
les points de la ligne dessinée à l'écran.




Avatar
LE TROLL
Cher ami,

C'est nouveau chat, il faudrait faire des mathématiques pour tracer une
ligne maintenant, en VB, avec les fonctions prévues, ah...

Une droite diagonale (qui n'est donc, ni horizontale, ni verticale), ne
peut, il me semble, ne s'inscrire que dans des multiples et sous-multiples
de carrés, sinon ce n'est pas une droite mais une "TORDUE", avec des "zigue"
et des "zagues", or il a dit (car il parle) : une "DROITE", alors une droite
c'est droit, non ?

Et puis il n'est guère intéressé par les réponses a priori...

Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"Vincent Guichard" a écrit dans le message de
news:4b45ea34$0$963$
Le 07/01/2010 13:00, John-Pet a écrit :
Bonjour


Bonjour,

supposons deux points sur une picturebox
je dessine une ligne droite entre ces deux points
comment connaitre la position de chaques pixels de cette droite



Les droites sont communément tracées en utilisant l'algo de Bresenham,
tu peux faire une recherche dessus. D'autres algorithmes existent, mais
je crois que c'est celui là qui est utilisé dans les "line" de VB6.

en faite c'est pour tester la couleur des pixels de cette droite fictive



Est-ce que tu considères la droite "réelle" (au sens mathématique) ou
une approximation traçable (par l'algo sus-nommé par exemple)?

Par exemple, si on considère le segment (0,0)-(6,4), la droite de
Bresenham comprendra les pixels (0,0), (1,1), (2,1), (3,2), (4,3), (5,3)
et (6,4) (soit 7 pixels), alors que la droite réelle passe aussi dans
les pixels (1,0), (2,2), (4,2) et (5,4) (soit 11 pixels) (en se
limittant au rectangle inscrit). Et si la droite réelle passe par un
"coin", est-ce que tu veux les pixels de part et d'autre?

merci
JP




Vincent Guichard
Avatar
Driss HANIB
Salut LE TROLL

en fait une droite peut aussi être la diah=gonale d'un rectangle !
Ta méthode ne fonctionnera que dans le tracé dans un carré , ce qui est la
moins courante, ou en tout cas la méthode la moins générale.

Il faut mieux passer par une équation de droite, facile à retrouver si tu as
les coordonnées d'un point origine et du point de fin.

Maintenant effectivement comment est réellement représentée la droite sur
l'objet : là est uine autre chose.

Driss
"LE TROLL" <le a écrit dans le message de news:

Cher ami,

C'est nouveau chat, il faudrait faire des mathématiques pour tracer une
ligne maintenant, en VB, avec les fonctions prévues, ah...

Une droite diagonale (qui n'est donc, ni horizontale, ni verticale), ne
peut, il me semble, ne s'inscrire que dans des multiples et sous-multiples
de carrés, sinon ce n'est pas une droite mais une "TORDUE", avec des
"zigue" et des "zagues", or il a dit (car il parle) : une "DROITE", alors
une droite c'est droit, non ?

Et puis il n'est guère intéressé par les réponses a priori...

Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"Vincent Guichard" a écrit dans le message de
news:4b45ea34$0$963$
Le 07/01/2010 13:00, John-Pet a écrit :
Bonjour


Bonjour,

supposons deux points sur une picturebox
je dessine une ligne droite entre ces deux points
comment connaitre la position de chaques pixels de cette droite



Les droites sont communément tracées en utilisant l'algo de Bresenham,
tu peux faire une recherche dessus. D'autres algorithmes existent, mais
je crois que c'est celui là qui est utilisé dans les "line" de VB6.

en faite c'est pour tester la couleur des pixels de cette droite fictive



Est-ce que tu considères la droite "réelle" (au sens mathématique) ou
une approximation traçable (par l'algo sus-nommé par exemple)?

Par exemple, si on considère le segment (0,0)-(6,4), la droite de
Bresenham comprendra les pixels (0,0), (1,1), (2,1), (3,2), (4,3), (5,3)
et (6,4) (soit 7 pixels), alors que la droite réelle passe aussi dans
les pixels (1,0), (2,2), (4,2) et (5,4) (soit 11 pixels) (en se
limittant au rectangle inscrit). Et si la droite réelle passe par un
"coin", est-ce que tu veux les pixels de part et d'autre?

merci
JP




Vincent Guichard



Avatar
Vincent Guichard
> "LE TROLL"<le a écrit dans le message de news:

Cher ami,





Bonjour,

L'amitié étant censément réciproque, et n'ayant pas de telle incl inaison
à ton égard, je te prierais de te passer de telles familiarités.


C'est nouveau chat, il faudrait faire des mathématiques pour tra cer une
ligne maintenant, en VB, avec les fonctions prévues, ah...





La question n'atais pas "comment tracer une droite", mais "comment
connaitre les (coordonnées des) pixels sur la trajectoire d'une droite
afin de déterminer leur couleur".


Une droite diagonale (qui n'est donc, ni horizontale, ni verticale ), ne
peut, il me semble, ne s'inscrire que dans des multiples et sous-multi ples
de carrés, sinon ce n'est pas une droite mais une "TORDUE", avec des
"zigue" et des "zagues", or il a dit (car il parle) : une "DROITE", al ors
une droite c'est droit, non ?





Ca dépends, dans quelle représentation de l'espace te places-tu? De
toute façon, une droite c'est un objet mathématique (ne t'en déplai se)
non représentable sur un écran (une droite n'a ni extémités ni é paisseur).


Et puis il n'est guère intéressé par les réponses a priori ...





Il est vrai que John-Pet donne rarement des retours.


Cordialement ;o)





De même,

Vincent Guichard

PS: Je remercie DRISS de t'avoir cité, au moins j'ai pu lire tes
inepties, étant donné que habituellement tes messages ne passent pas mon
filtre PLONK.
Avatar
LE TROLL
Bonjour Driss,

Ben oui, il a parlé de :
"je dessine une ligne droite entre ces deux points",.
Donc une ligne "droite" et une droite c'est droit, sinon c'est uns lige
(mais pas droite) !

De facto, une ligne droite peut se mettre dans n'importe quelle figure,
mais il n'y aura que trois possibilités pour qu'elle soit droite :
- verticale
- horizontale
- diagonale (chaque pixel suivant devra être aligné dans la diagonale du
précédent).

Le reste, ce ne sont pas des lignes droites, mais des lignes, et
notamment une ligne qui dans un rectangle toucherait les deux angles
opposés, ne saurait être une ligne droite, mais une ligne tout court.

Je ne joue pas sur les mots, je lis ce qui est écrit (pour une fois), et
il me semble qu'il y a confusion entre la demande (ligne droite) et ligne
tout court, si ma foi, l'auteur, qui s'emble ignorer totalement les
réponses, voulait dire une ligne, il n'avait qu'a ne pas écrire "ligne
droite"...

Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://irolog.free.fr
_______________________
.
.


"Driss HANIB" a écrit dans le message de
news:
Salut LE TROLL

en fait une droite peut aussi être la diah=gonale d'un rectangle !
Ta méthode ne fonctionnera que dans le tracé dans un carré , ce qui est la
moins courante, ou en tout cas la méthode la moins générale.

Il faut mieux passer par une équation de droite, facile à retrouver si tu
as les coordonnées d'un point origine et du point de fin.

Maintenant effectivement comment est réellement représentée la droite sur
l'objet : là est uine autre chose.

Driss
"LE TROLL" <le a écrit dans le message de news:

Cher ami,

C'est nouveau chat, il faudrait faire des mathématiques pour tracer
une ligne maintenant, en VB, avec les fonctions prévues, ah...

Une droite diagonale (qui n'est donc, ni horizontale, ni verticale),
ne peut, il me semble, ne s'inscrire que dans des multiples et
sous-multiples de carrés, sinon ce n'est pas une droite mais une
"TORDUE", avec des "zigue" et des "zagues", or il a dit (car il parle) :
une "DROITE", alors une droite c'est droit, non ?

Et puis il n'est guère intéressé par les réponses a priori...

Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://irolog.free.fr
_______________________
.
.


"Vincent Guichard" a écrit dans le message de
news:4b45ea34$0$963$
Le 07/01/2010 13:00, John-Pet a écrit :
Bonjour


Bonjour,

supposons deux points sur une picturebox
je dessine une ligne droite entre ces deux points
comment connaitre la position de chaques pixels de cette droite



Les droites sont communément tracées en utilisant l'algo de Bresenham,
tu peux faire une recherche dessus. D'autres algorithmes existent, mais
je crois que c'est celui là qui est utilisé dans les "line" de VB6.

en faite c'est pour tester la couleur des pixels de cette droite fictive



Est-ce que tu considères la droite "réelle" (au sens mathématique) ou
une approximation traçable (par l'algo sus-nommé par exemple)?

Par exemple, si on considère le segment (0,0)-(6,4), la droite de
Bresenham comprendra les pixels (0,0), (1,1), (2,1), (3,2), (4,3), (5,3)
et (6,4) (soit 7 pixels), alors que la droite réelle passe aussi dans
les pixels (1,0), (2,2), (4,2) et (5,4) (soit 11 pixels) (en se
limittant au rectangle inscrit). Et si la droite réelle passe par un
"coin", est-ce que tu veux les pixels de part et d'autre?

merci
JP




Vincent Guichard







Avatar
LE TROLL
Guichard,

Que tu filtres des intervenants réguliers et te montrant bien incapable
de participer avec assiduité à l'aide des autres dans ce forum, et ceux de
VB en général, ne démontre que ta stupidité avancée, car, comme tu ne viens
jamais tu n'a rien à filtrer, oui, je sais, tu n'y avais pas pensé, ce n'est
pas grave puisque je pense à ta place !
Quant à filtrer stricto sensu, jamais une telle chose je n'ai fait, ce qui
démontre bien la différence qu'il y a entre moi, un libéral démocrate, et
toi...

Quant à ta prestation simiesque sur les lignes, pour étaler un
pseudo-savoir inutile, ce n'est pas de bon gout. On en parlait encore il y a
peu (mais comme tu n'es jamais là), que VB est un langage populaire
accessible au peuple, alors quand il n'y a pas besoin de formules
mathématiques avancées, on ne les sort pas pour épater la galerie.
La ligne se trace avec une fonction VB, ainsi tu n'as pas besoin de sortir
un théorème recopié sur Wikipedia de ta poubelle.
Lorsque la question permet d'y répondre par les fonction de VB, c'est en VB
qu'on répond, tu peux sans doute aller faire ton intéressant dans d'autres
forums, puisqu'ici tu n'y viens pas.
En dernier apprends à lire, (ce qui peut parfois s'appliquer à moi),
l'auteur parle d'un "ligne droite", il ne demande pas comment faire des
lignes en mathématique. C'est comme si on demandait comment faire un cercle,
et que toi tu explique aussi comment faire un ovale avec le sinus et le
cosinus, ce serait totalement délirant.

Si tu veux faire des math, tu a des forums prévus à cette effet, mais je
crois que tu n'en auras pas le niveau (moi non plus, mais moi je le dis), en
tout cas, en VB quand une fonction existe, on indique la fonction, et non
pas la formule qui a permis de faire la fonction !

Tu peux désormais retourner dans tes oubliettes, et n'oublie pas de
bloquer mon pseudonyme.

-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"Vincent Guichard" a écrit dans le message de
news:4b4743c1$0$17524$
"LE TROLL"<le a écrit dans le message de news:

Cher ami,





Bonjour,

L'amitié étant censément réciproque, et n'ayant pas de telle inclinaison
à ton égard, je te prierais de te passer de telles familiarités.


C'est nouveau chat, il faudrait faire des mathématiques pour tracer
une
ligne maintenant, en VB, avec les fonctions prévues, ah...





La question n'atais pas "comment tracer une droite", mais "comment
connaitre les (coordonnées des) pixels sur la trajectoire d'une droite
afin de déterminer leur couleur".


Une droite diagonale (qui n'est donc, ni horizontale, ni verticale),
ne
peut, il me semble, ne s'inscrire que dans des multiples et
sous-multiples
de carrés, sinon ce n'est pas une droite mais une "TORDUE", avec des
"zigue" et des "zagues", or il a dit (car il parle) : une "DROITE", alors
une droite c'est droit, non ?





Ca dépends, dans quelle représentation de l'espace te places-tu? De
toute façon, une droite c'est un objet mathématique (ne t'en déplaise)
non représentable sur un écran (une droite n'a ni extémités ni épaisseur).


Et puis il n'est guère intéressé par les réponses a priori...





Il est vrai que John-Pet donne rarement des retours.


Cordialement ;o)





De même,

Vincent Guichard

PS: Je remercie DRISS de t'avoir cité, au moins j'ai pu lire tes
inepties, étant donné que habituellement tes messages ne passent pas mon
filtre PLONK.
1 2