Comment fixer l'échelle d'un dessin (pour faire un plan)

Eléphant du PHP | 117 Messages

07 mai 2005, 16:17

Comment fixer l'echelle d'un plan
par exemple "100" = 10 cm sur l'image imprimée.

Mammouth du PHP | 19672 Messages

07 mai 2005, 16:21

Je Débute, j'avoue que je te suis pas trop. Ce matin, tu nous mets un message pour une question de PHP dans le forum emploi : là, j'ai pas encore compris comment tu as fait pour te gourrer à ce degré là, ensuite, tu nous arrives dans un forum de PHP pour des histoire d'échelle sur un plan : on fait du PHP ici, pas de l'architecture :langue:

Ceci dit, si c'est bien du PHP, essaye donc de nous expliquer ce que tu veux faire avec des détails pertinents si possible.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 117 Messages

07 mai 2005, 16:36

Ce matin je me suis trompé.

En fait je veux dessiner un plan assez simple de façon dynamique

J'entre des données mathématiques... et PHP doit me renvoyer le tracé géométrique. Le rendu doit être à l'échelle.

Si j'entre 100 en donnée, je dois retrouver 10 sur le plan (correspondant à 100) echelle 1/10.

Ce n'est pas de la programation de gestion, c'est vrai .

Mammouth du PHP | 19672 Messages

07 mai 2005, 16:40

À l'énoncé de ton message de début, on aurait pu douter qu'il s'agissait seulement de PHP

Ceci dit : tu inscris 100 et tu veux obtenir 10: question idiote peut-être mais pourquoi n'écris-tu pas 10 directement ? Il te suffit dans tes fonctions de traçage de multiplier par 10, mais la valeur affichée sera la valeur de départ.

D'autre part, si les valeurs servent à tracer le dessin, ce dessin n'est pas le texte lui-même qui est traité à part à partir de ces valeurs: pourquoi ne pas faire la conversion lors de ce traitement avant écriture du texte ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 117 Messages

07 mai 2005, 17:18

Voilà un code que je viens de créer

<?php
header ("Content-type: image/png");
// Création de l'image PNG ,
$image = imagecreate(1300,500);
// Remplissage du fond de l'image (blanc)
$fond = imagecolorallocate($image,255,255,255);
// Couleur des traits (noir)
$col_trait = imagecolorallocate($image,0,0,0);
// Dessin d'un trait de longueur 10 cm
imageline($image,100, 250, 1100, 250, $col_trait);
// Dessin du trait d'echelle de longueur 1 cm
imageline($image,1000, 280, 1100, 280, $col_trait);
// Commentaire d'échelle
$textcolor = imagecolorallocate($image, 0, 0, 0);
imagestring($image, 5, 950, 270, "1 cm", $textcolor);
// Affichage de du plan
imagepng($image);
?>

Je veux juste pouvoir imprimer à l'échelle.

Pour l'instant cela m'imprime 2.23 cm réel pour 1 cm voulu.