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

Dessiner un carré à partir d'un point

9 réponses
Avatar
PimSaVie
Bonjour

Je voudrais, quand je clique sur une image, qu'un carr=E9 soit dessiner
autour de ce point : pour cela je connais la position de la souris
avec les fonctions SourisPosX() et SourisPosY(), et je sais que mon
carr=E9 aura une largeur de 100

Mais je n'arrive pas =E0 d=E9terminer, =E0 partir de ses infos, comment
r=E9cup=E9rer les diff=E9rentes positions X et Y pour dessiner ce carr=E9

Merci de votre aide

Karine

9 réponses

Avatar
Firetox
Bonjour, karine

le point sera alors le centre du carre

X,Y sont es entier
X=SorisPosX-50
Y = SourisPosY -50
drectangle(X,Y,X+50,Y+50)

ou alors j'ai rien compris a la question

Bon dev
@+


"PimSaVie" a écrit dans le message de news:

Bonjour

Je voudrais, quand je clique sur une image, qu'un carré soit dessiner
autour de ce point : pour cela je connais la position de la souris
avec les fonctions SourisPosX() et SourisPosY(), et je sais que mon
carré aura une largeur de 100

Mais je n'arrive pas à déterminer, à partir de ses infos, comment
récupérer les différentes positions X et Y pour dessiner ce carré

Merci de votre aide

Karine
Avatar
Firetox
oups

fallait lire
X,Y sont des entier
X=SourisPosX-50
Y = SourisPosY -50
drectangle(X,Y,X+100,Y+100)



bien entendu

Bon dev
@+

"Firetox" a écrit dans le message de news:
468b87d5$0$5199$
Bonjour, karine

le point sera alors le centre du carre

X,Y sont es entier
X=SorisPosX-50
Y = SourisPosY -50
drectangle(X,Y,X+50,Y+50)

ou alors j'ai rien compris a la question

Bon dev
@+


"PimSaVie" a écrit dans le message de news:

Bonjour

Je voudrais, quand je clique sur une image, qu'un carré soit dessiner
autour de ce point : pour cela je connais la position de la souris
avec les fonctions SourisPosX() et SourisPosY(), et je sais que mon
carré aura une largeur de 100

Mais je n'arrive pas à déterminer, à partir de ses infos, comment
récupérer les différentes positions X et Y pour dessiner ce carré

Merci de votre aide

Karine




Avatar
PimSaVie
On 4 juil, 13:50, "Firetox" wrote:
oups

fallait lire

> X,Y sont des entier
> X=SourisPosX-50
> Y = SourisPosY -50
> drectangle(X,Y,X+100,Y+100)

bien entendu

Bon dev
@+

"Firetox" a écrit dans le message de news:
468b87d5$0$5199$



> Bonjour, karine

> le point sera alors le centre du carre

> X,Y sont es entier
> X=SorisPosX-50
> Y = SourisPosY -50
> drectangle(X,Y,X+50,Y+50)

> ou alors j'ai rien compris a la question

> Bon dev
> @+

> "PimSaVie" a écrit dans le message de news:
>
> Bonjour

> Je voudrais, quand je clique sur une image, qu'un carré soit dessiner
> autour de ce point : pour cela je connais la position de la souris
> avec les fonctions SourisPosX() et SourisPosY(), et je sais que mon
> carré aura une largeur de 100

> Mais je n'arrive pas à déterminer, à partir de ses infos, comment
> récupérer les différentes positions X et Y pour dessiner ce carr é

> Merci de votre aide

> Karine- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Merci c'est exactement ce que je recherchais : je le faisais avec des
dLigne alors je m'embrouillais avec les X et Y

Merci :o)
Avatar
PimSaVie
Bonjour

Me revoila avec mes points et mes carrés :p

Tout fonctionnait parfaitement, jusqu'à ce qu'on me demande de
modifier un paramètre.. J'ai deux champs image qui affichent le même
photo : un champ qui affiche la photo en homothétique et un qui
affiche la photo en 100%

Quand je clique sur la photo en homothétique, je voudrais dessiner un
carré autour du point cliqué mais sur l'image en 100% : j'arrive à le
dessiner, mais j'ai un gros décalage

Est-ce que vous auriez une idée pour centrer ce carré?

Merci

Karine

PS : voila mon code

nLargeurImage, nHauteurImage sont des entiers
nIndiceH, nIndiceV sont des entiers
gfnQuadrillage = 100

// Carte cachée en 100%
CarteCachée..Largeur = ExtraitChaîne(sInfoImage,2)
gfnLargeurImageCachee = CarteCachée..Largeur
CarteCachée..Hauteur = ExtraitChaîne(sInfoImage,3)
gfnHauteurImageCachee = CarteCachée..Hauteur

// Carte clicable en homothétique
// on conserve la hauteur du champ
gfnHauteurImageClicable = Img_Classe..Hauteur
// mais on calcule sa largeur
gfnLargeurImageClicable = gfnHauteurImageClicable *
gfnLargeurImageCachee / gfnHauteurImageCachee


// Largeur et hauteur des portions d'image sur l'image cachée qui est
en 100%
nLargeurImage = gfnQuadrillage * gfnLargeurImageCachee /
gfnLargeurImageClicable
nHauteurImage = gfnQuadrillage * gfnHauteurImageCachee /
gfnHauteurImageClicable

nIndiceH = (gfnDebutX / gfnQuadrillage*nLargeurImage)
nIndiceV = (gfnDebutY / gfnQuadrillage*nHauteurImage)

// Dessiner le rectangle
dRectangle(nIndiceH,nIndiceV,nIndiceH+150,nIndiceV+150)
Avatar
Tracks
Bonjour,

d'abord je te conseille de procéder autrement pour afficher l'image de
ta classe dans la zone clicable :

//////////////////////////////////////////////////

// Carte cachée en 100%
CarteCachée..Largeur = ExtraitChaîne(sInfoImage,2)
gfnLargeurImageCachee = CarteCachée..Largeur
CarteCachée..Hauteur = ExtraitChaîne(sInfoImage,3)
gfnHauteurImageCachee = CarteCachée..Hauteur

// Carte clicable en homothétique
SI PAS dCopieImage(CarteCachée,ImageClicable,copieSrcCopie,
0,0,CarteCachée..Hauteur,CarteCachée..Largeur,
0,0,ImageClicable..Hauteur,ImageClicable..Largeur) ALORS
Info("Veuillez mettre à jour votre pilote vidéo")
FIN


//////////////////////////////////////////////////

ensuite que veux tu faire exactement ?

______________________________________

Ils ne savaient pas que c'était impossible, alors ils l'ont fait.
[ Mark Twain ]
Avatar
PimSaVie
On 13 juil, 18:53, Tracks wrote:
Bonjour,

d'abord je te conseille de procéder autrement pour afficher l'image de
ta classe dans la zone clicable :

//////////////////////////////////////////////////

// Carte cachée en 100%
CarteCachée..Largeur = ExtraitChaîne(sInfoImage,2)
gfnLargeurImageCachee = CarteCachée..Largeur
CarteCachée..Hauteur = ExtraitChaîne(sInfoImage,3)
gfnHauteurImageCachee = CarteCachée..Hauteur

// Carte clicable en homothétique
SI PAS dCopieImage(CarteCachée,ImageClicable,copieSrcCopie,
0,0,CarteCachée..Hauteur,CarteCachée..Largeur,
0,0,ImageClicable..Hauteur,ImageClicable..Largeur) ALORS
Info("Veuillez mettre à jour votre pilote vidéo")
FIN

//////////////////////////////////////////////////

ensuite que veux tu faire exactement ?

______________________________________

Ils ne savaient pas que c'était impossible, alors ils l'ont fait.
[ Mark Twain ]



En fait, à partir d'une photo de classe, j'aimerais, en cliquant sur
la tête d'un élève, créer un carré autour de cette tête pour en faire
une photo individuelle

Il faudrait que je travaille sur la photo en 100% pour avoir une photo
plus grande
Avatar
Tracks
Re,

Si je ne me suis pas trompé :

//////////////////////////////////////////////////

// Carte cachée en 100%
CarteCachée..Largeur = ExtraitChaîne(sInfoImage,2)
CarteCachée..Hauteur = ExtraitChaîne(sInfoImage,3)


// Affichage dans Carte clicable homothétique
SI PAS dCopieImage(CarteCachée,ImageClicable,copieSrcCopie,
0,0,CarteCachée..Hauteur,CarteCachée..Largeur,
0,0,ImageClicable..Hauteur,ImageClicable..Largeur) ALORS
Info("Veuillez mettre à jour votre pilote vidéo")
FIN


// Code de clic sur Carte clicable
XClic,YClic,XCarteCachée,YCarteCachée sont des entiers

XClic=SourisPosX()
YClic=SourisPosY()

XCarteCachée=XClic*CarteCachée..Largeur/ImageClicable..Largeur
YCarteCachée=YClic*CarteCachée..Hauteur/ImageClicable..Hauteur


// Affichage dans Carte individuelle
SI PAS dCopieImage(CarteCachée,ImageIndividuelle,copieSrcCopie,
XCarteCachée-50,YCarteCachée-50,100,100,
0,0,ImageIndividuelle..Hauteur,ImageIndividuelle..Largeur) ALORS
Info("Veuillez mettre à jour votre pilote vidéo")
FIN

//////////////////////////////////////////////////

______________________________________


Ils ne savaient pas que c'était impossible, alors ils l'ont fait.
[ Mark Twain ]
Avatar
Tracks
Re,

Plus précisement :


//////////////////////////////////////////////////
//////

// Carte cachée en 100%
CarteCachée..Largeur = ExtraitChaîne(sInfoImage,2)
CarteCachée..Hauteur = ExtraitChaîne(sInfoImage,3)

// Affichage dans Carte clicable homothétique
SI PAS dCopieImage(CarteCachée,ImageClicable,copieSrcCopie,
0,0,CarteCachée..Hauteur,CarteCachée..Largeur,
0,0,ImageClicable..Hauteur,ImageClicable..Largeur) ALORS
Info("Veuillez mettre à jour votre pilote vidéo")
FIN

//////
//////////////////////////////////////////////////
////// Code de clic sur Carte clicable


XClic,YClic,XCarteCachée,YCarteCachée sont des entiers
XClic=SourisPosX()
YClic=SourisPosY()
XCarteCachée=XClic*CarteCachée..Largeur/ImageClicable..Largeur
YCarteCachée=YClic*CarteCachée..Hauteur/ImageClicable..Hauteur

// Contrôle pour ne pas déborder :
SI XCarteCachée<50 ALORS XCarteCachéeP
SI XCarteCachée>ImageClicable..Largeur - 50 ALORS
XCarteCachée=ImageClicable..Largeur-50

SI YCarteCachée<50 ALORS YCarteCachéeP
SI YCarteCachée>ImageClicable..Hauteur-50 ALORS
YCarteCachée=ImageClicable..Hauteur-50

// Affichage dans Carte individuelle
SI PAS dCopieImage(CarteCachée,ImageIndividuelle,copieSrcCopie,
XCarteCachée-50,YCarteCachée-50,100,100,
0,0,ImageIndividuelle..Hauteur,ImageIndividuelle..Largeur) ALORS
Info("Veuillez mettre à jour votre pilote vidéo")
FIN

////// Fin Code de clic sur Carte clicable
//////////////////////////////////////////////////


______________________________________


Ils ne savaient pas que c'était impossible, alors ils l'ont fait.
[ Mark Twain ]
Avatar
PimSaVie
Merci ça marche nickel :o)