Trim gradué (modèlisme)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 966 fois - Téléchargée 18 fois

Contenu du snippet

Cette fonction permet la création d'un trim gradué sur une echelle de 20 valeurs (de -10 à 10). La largeur du trim est modifiable grace à la variable "$largeur1".

Source / Exemple :


<?php
$largeur_1 = "300";         /* taille du trim */

function trim_h($position_cercle_1, $largeur_1)
{
$trim_horizontal = "trim_1.jpg";

$hauteur_1 = (floor($largeur_1 /12));
$segments_1 = (floor($largeur_1 / 23));
$reliquat_1 = (floor(($largeur_1 - ($segments_1 * 23)) / 2));
$premiere_graduation_1 = ($segments_1 + $reliquat_1);
$division_hauteur_1 = (floor($largeur_1 / 96));
$y_cercle_1 = (round($premiere_graduation_1 + ($segments_1 * $position_cercle_1) + ($segments_1 / 2)));
$hauteur_cercle_1 = (round($largeur_1 / 30));

$im_1 = imagecreatetruecolor($largeur_1,$hauteur_1) or die ("Erreur lors de la création de l'image");

$couleur_1=ImageColorAllocate($im_1,255,255,255);   /* blanc */
$couleur_2=ImageColorAllocate($im_1,0,0,0);         /* noir */
$couleur_3=ImageColorAllocate($im_1,204,204,255);   /* violet clair */
$couleur_4=ImageColorAllocate($im_1,255,0,0);       /* rouge */

ImageFill($im_1,0,0,$couleur_3);
ImageFilledRectangle($im_1,(round($premiere_graduation_1 / 2)),$division_hauteur_1,(round($largeur_1 - ($premiere_graduation_1 / 2))),($division_hauteur_1 * 7),$couleur_2);
ImageLine($im_1,$premiere_graduation_1,(floor($largeur_1 / 24)),(($segments_1 * 21) + $premiere_graduation_1),(floor($largeur_1 / 24)),$couleur_1);
ImageLine($im_1,$premiere_graduation_1,($division_hauteur_1 * 2),$premiere_graduation_1,($division_hauteur_1 * 6),$couleur_1);
	For ($i=1;$i<22;$i++)
	{
	ImageLine($im_1,($premiere_graduation_1 + ($segments_1 * $i)),($division_hauteur_1 * 2),($premiere_graduation_1 + ($segments_1 * $i)),($division_hauteur_1 * 6),$couleur_1);
	}

imagefilledellipse ( $im_1, $y_cercle_1,(floor($largeur_1 / 24)), $hauteur_cercle_1  , $hauteur_cercle_1 , $couleur_4 );

imagejpeg($im_1,$trim_horizontal);
?>

<FORM name='trim_horizontal' method='post'>
<?php

$valeur_cercle = ($position_cercle_1)-10;

echo "<TABLE style='font-family:arial; font-size:10px' align=center>
<tr>
<td><input type='submit' name='bouton_gauche' value='<'></td><td><img src='$trim_horizontal'></td><td><input type='submit' name='bouton_droit' value='>'></td>
</tr>
<tr>
<td colspan=3 align=center><font size='2' color='red' face='arial'>$valeur_cercle</font><input type='hidden' name='input_value' value='$position_cercle_1'><td>
</tr>
</TABLE>";
?>
</FORM>
<?php
}
	if (!isset($_POST['bouton_gauche']))
	{
		if (!isset($_POST['bouton_droit']))
		{
		trim_h("10",$largeur_1);
		}
	}

	if (isset($_POST['bouton_gauche']))
	{
	$position_cercle_1 = ($_POST['input_value'])-1;
		if($position_cercle_1 < 0)
		{
		$position_cercle_1 = 0;
		}
	trim_h($position_cercle_1,$largeur_1);
	}

	if (isset($_POST['bouton_droit']))
	{
	$position_cercle_1 = ($_POST['input_value'])+1;
		if($position_cercle_1 > 20)
		{
		$position_cercle_1 = 20;
		}
	trim_h($position_cercle_1,$largeur_1);
	}
?>

A voir également

Ajouter un commentaire Commentaires
Messages postés
138
Date d'inscription
vendredi 1 août 2003
Statut
Membre
Dernière intervention
16 juillet 2009

Salut ? tous,

Une petite pr?cision pour clarifier ce code :

Une trim, ca n'a rien ? voir avec les math?matiques :) c'est juste un petit accessoire de mod?lisme qui figure sur toutes les t?l?commandes dignes de ce nom. Cela permet de corriger rapidement un axe de son petit bolide, qu'il soit terrestre ou a?rien, dans un sens comme dans l'autre.

Il est pr?f?rable de proc?der ? ces r?glages en jouant directement sur les tringleries de la machine, mais parfois on peut avoir besoin de modifier directement sur la t?l?commande, comme lorsqu'on pilote un h?licopt?re avec un peu de vent, il ne r?agira pas pareil qu'en int?rieur, et on va pas se retaper les r?glages pour 20 minutes de vol, autant prendre une minute a trouver le bon ?quilibre des trims sur la t?l?commande.

L'int?r?t du code ? J'avoue ne pas comprendre, peut-?tre son auteur souhaite r?aliser une page simulant l'emploi d'une t?l?commande pour guider les d?butants dans leurs premiers pas en mod?lisme...
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Hello,

'tain les gars...je suis un codeur essentiellement autodidacte. Bon codeur je pense...mais en maths, je suis une brèle.
Quand vous laissez des codes comme ça, pensez à moi (et à ceux comme moi hein, ne soyons pas trop égocentriques...) : expliquez de quoi il retourne!! Parce que c'est intéressant, de toute manière!
Bref...
Le code php : simpliste, je ne vois pas trop ce que je pourrais en dire. D'autant moins qu'il s'agit de calculs et d'affichages GD, donc bon...pas d'erreur flagrante à mon sens (non, je ne dirai rien sur les guillemets en lieu et place d'apostrophes, même si je n'en pense pas moins : ce n'est pas très grave dans ce contexte). Quand même, la dernière partie (que je viens de voir : if (!$a) {use $b;}...mouais, et si $b n'existe pas ?
Le code HTML : franchement vieillot. Tout y est déprécié, c'est dommage, et il est tellement simple de faire quelque chose de xhtml compliant avec si peu de lignes.

Je ne note pas vu que je ne pige rien au but du code (un peu comme dépression dirait-on).
Messages postés
100
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
13 juillet 2009

C'est quoi un trim?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (cs_Tetechercheuse)