begin process at 2012 05 27 21:45:06
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > HACHURES

HACHURES


 Information sur la source

Note :
8,75 / 10 - par 4 personnes
8,75 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Graphique Niveau :Débutant Date de création :12/07/2004 Date de mise à jour :12/07/2004 10:53:20 Vu :4 208

Auteur : arnal69130

Ecrire un message privé
Site perso
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Cette fonction permet de dessiner des hachures obliques dans une image existante.
L'image doit être créée avant l'appel à la fonction.
Les hachures sont dessinées dans un rectangle dont les coordonnées des angles NO et SE sont passées en paramètres.
Les hachures sont obliques, et la direction est passée en paramètre.
Tous les paramètres sont documentés.

Source

  • function hachures($im,$x1,$y1,$x2,$y2,$c,$pas,$ep,$dir)
  • //$im : image (identifiant de ressource)
  • //$x1,$y1 et $x2,$y2 sont les coordonnées des angles du rectangle
  • //$c : couleur (tableau contenant les composantes rvb)
  • //$pas : distance entre 2 hachures
  • //$ep : épaisseur d'une hachure
  • //$dir : direction des hachures (1 : SO/NE, 2 : NO/SE, 3 : les 2 (quadrillage))
  • {
  • $l=$x2-$x1;
  • $h=$y2-$y1;
  • $t=$l+$h;
  • $coul=imagecolorallocate($im, $c['r'], $c['v'], $c['b']);
  • if ($dir!=2)
  • {
  • for ($i=0;$i<$t;$i+=$pas)
  • {
  • for ($e=0; $e<$ep; $e++)
  • { $j=$i+$e; imageline($im,$x1+max(0,($j-$h)),$y1+min($j,$h),$x1+min($j,$l),$y1+max(0,($j-$l)),$coul); }
  • }
  • }
  • if ($dir!=1)
  • {
  • for ($i=0;$i<$t;$i+=$pas)
  • {
  • for ($e=0; $e<$ep; $e++)
  • { $j=$i+$e; imageline($im,$x1,$y1+($h-$j),$x1+$j,$y1+$h,$coul); }
  • }
  • }
  • }
function hachures($im,$x1,$y1,$x2,$y2,$c,$pas,$ep,$dir)
//$im : image (identifiant de ressource)
//$x1,$y1 et $x2,$y2 sont les coordonnées des angles du rectangle
//$c : couleur (tableau contenant les composantes rvb)
//$pas : distance entre 2 hachures
//$ep : épaisseur d'une hachure
//$dir : direction des hachures (1 : SO/NE, 2 : NO/SE, 3 : les 2 (quadrillage))
{
  $l=$x2-$x1;
  $h=$y2-$y1;
  $t=$l+$h;
  $coul=imagecolorallocate($im, $c['r'], $c['v'], $c['b']);
  if ($dir!=2)
  {
    for ($i=0;$i<$t;$i+=$pas)
    {
       for ($e=0; $e<$ep; $e++)
       { $j=$i+$e; imageline($im,$x1+max(0,($j-$h)),$y1+min($j,$h),$x1+min($j,$l),$y1+max(0,($j-$l)),$coul); }
    }
  }
  if ($dir!=1)
  {
    for ($i=0;$i<$t;$i+=$pas)
    {
       for ($e=0; $e<$ep; $e++)
       { $j=$i+$e; imageline($im,$x1,$y1+($h-$j),$x1+$j,$y1+$h,$coul); }
    }
  }
}

 Conclusion

Exemple d'appel :

$im=imagecreate($L, $H);
hachures($im, 1, 1, $L-5, $H-1, array('r'=>128, 'v'=>128, 'b'=>255), 10, 3, 1);      

Vous pouvez aussi créer l'image dans la fonction.


 Historique

12 juillet 2004 10:53:20 :
ajout screenshot

 Sources du même auteur

Source avec Zip Source avec une capture CALENDRIER : ASSISTANT DE SAISIE DE DATE DANS UN FORMULAIRE
Source avec une capture "LA PAGE NE PEUX PAS ÊTRE ACTUALISÉE SANS LE RENVOI D'INFORM...
PRÉCHARGER TOUTES LES IMAGES D'UN RÉPERTOIRE
Source avec Zip Source avec une capture DÉGRADÉ

 Sources de la même categorie

Source avec Zip Source avec une capture CAMEMBERT BD par dardelphi
Source avec une capture AMÉLIORATION : CAMEMBERT par asphator
GESTION DE COULEUR par manuche
Source avec Zip NAVIGATOR (+CSSDETECTOR) par xXVoxPopuliXx
COMMENT, AVEC GD, DESSINER UN RECTANGLE TRANSPARENT PLEIN AV... par Rainbow

Commentaires et avis

Commentaire de GRenard le 12/07/2004 16:36:11

Avec $im, tu peux savoir avec de belles fonctions la grandeur de l'image...
Il est vrai que si on ne veut pas hacher toute l'image cela peut s'avérer utile...
Mais il serait alors bien de mettre ces paramètres en dernier dans les arguments et leur mettre un défaut à 0.
S'ils sont tous à 0, tu hache toute l'image, sinon tu haches la forme passée en argument.

Commentaire de derfum le 17/07/2004 22:26:05

C'est très joli comme rendu, et le code est propre (mais c'est vrai que quelques valeurs par défaut ... font défaut)

9/10
FReD

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales