[GD] définir le pixel de départ par défaut...

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [GD] définir le pixel de départ par défaut...

par chrislabricole » 09 août 2008, 21:42

Après, on peut difficilement aller plus loin sans savoir ce que tu souhaites faire, mais si c'est simplement l'idée d'avoir une origne centré en haut à gauche qui ne te plait pas, alors tu auras plus vite fait de t'y habituer que de changer de coordonnées ;)
Non non t'inquiète pas, je suis déjà habitué à l'ordoné et l'absice par défaut, le problème, c'est que j'ai récupéré des coordonnées qui doivent être lus avec l'origine au centre...

Autre solution, faire un système de conversion des coordonnées, justement, je suis en train de bosser dessus mais bon... pour l'instant, j'avance pas à grand pas...

Donc si on trouve le moyen pour déplacer l'origine au centre, ça me fera avancer :)

Pour l'instant, je continu le système de conversion pour pas perdre de temps si il n'y a pas de solution...

Merci de votre aide :)

EDIT: Oufff, fini ! mon projet marche nickel, j'ai beaucoup bataillé pour la conversion des positions, c'était plus des maths que du PHP :P
J'ai même mis mon projet en POO :D
Merci quand même à vous :)

par Tong » 09 août 2008, 21:21

Hmmm, j'aurais sans doute pas dû mettre ça dans des balises php :wink:

Mes deux lignes ne sont là que pour montrer le calcul qu'il faut faire pour convertir un point depuis le système GD vers ce que tu désires, et c'est de plus valide que dans le cas d'une image 3000x3000.

Allez en français ca donne :
Tu soustrais la moitié de la largeur de ton image à l'abscisse.
Tu multiplie l'ordonnée par -1 et tu lui ajoute la moitié de la hauteur de ton image.

Et là si je ne me plante pas, tu as les coordonnées de ton point dans un système de coordonnées dont l'origine est au centre de ton image.

Après, on peut difficilement aller plus loin sans savoir ce que tu souhaites faire, mais si c'est simplement l'idée d'avoir une origne centré en haut à gauche qui ne te plait pas, alors tu auras plus vite fait de t'y habituer que de changer de coordonnées ;)

par chrislabricole » 09 août 2008, 20:59

:o j'ai un pressentiment que cette voix va marcher !

j'ai fais :
$image = imagecreatefromjpeg('./map.jpg');
$image->x = $point->x - 1500;
$image->y = $point->y*(-1) + 1500;
Mais il me renvoi des erreurs :?
Warning: Attempt to assign property of non-object in index.php on line 90
Warning: Attempt to assign property of non-object in index.php on line 91
les 2 lignes sont les tiennes ^^

Merci :D

EDIT:
Il faut que tu définisses une fonction de translation pour le faire automatiquement, tout simplement…
Ouais, je suis d'accord avec toi, mais comment faire cette translation justement ?

par Sékiltoyai » 09 août 2008, 20:58

Il faut que tu définisses une fonction de translation pour le faire automatiquement, tout simplement…

par Tong » 09 août 2008, 20:54

A mon avis, il va falloir que tu t'accommodes des coordonnées de la librairie GD, tu ne pourras pas redéfinir son fonctionnement.

Ici, ton système de coordonnées correspond à une inversion de l'axe des ordonnés, puis à une translation de direction (-1500,1500).
Pour convertir un point du système made in GD au système made in chrislabricole, il faut donc faire l'opération suivante :
$point->x = $point->x - 1500;
$point->y = $point->y*(-1) + 1500;
Au erreur de calcul près ca doit être ça ...

[GD] définir le pixel de départ par défaut...

par chrislabricole » 09 août 2008, 19:03

Bonsoir !

Voilà, j'ai un gros problème dans la section GD, je voudrais définir le pixel de départ par défaut, imaginez :
- une image de 3000x3000px
la position (0,0) vaudra le coins haut gauche...
la position (3000,3000) vaudra le coins bas droite...
la position (1500,1500) vaudra le milieu...
etc...

moi je veux que (0,0) vaut (1500,1500) (c-a-d le milieu...)

C'est possible ? sinon, je suis obliger de convertir toutes mes positions et je ne sais pas trop comment m'y prendre, en fait, là, c'est plus des maths qu'autre chose :roll:

Voilà 2 images pour que vous compreniez bien :
Par défaut :
Image
Comme je voudrai :
Image

Merci de votre aide ! :D