Dessiner un carré à partir d'un point

Le
PimSaVie
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Firetox
Le #14624321
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"
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
Firetox
Le #14624311
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" 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"
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




PimSaVie
Le #14624291
On 4 juil, 13:50, "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" 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" >
> 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)
PimSaVie
Le #14464531
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)
Tracks
Le #14464511
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 ]
PimSaVie
Le #14464501
On 13 juil, 18:53, 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 ]



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
Tracks
Le #14464491
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 ]
Tracks
Le #14464481
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 ]
PimSaVie
Le #14464381
Merci ça marche nickel :o)
Publicité
Poster une réponse
Anonyme