!!! Important

2009/07/27 - Portage de la classe ImageFilter vers un ensemble de class plus souple à manipuler

!!! Important


15/03/2005 V1.1a

Nouvelle petite correction trouvé par TeddyBer. pas grand chose, mais ce qu’il faut pour éviter des notices superflue.

14/03/2005 V1.1

Seconde étape de nettoyage avec la remise à jours des commentaires dans le code source de la classe, et au passage, la correction de quelques incohérences de traitements (ne portant pas vraiment à conséquance sauf dans le cas de certaine opérations pas vraiment courantes)

Bref, je vous encourage à mettre à jours vos librairie, mais si tout fonctionne et que les nouvelles fonctionnalités ne vous interressent pas ce n’est pas obligatoire.

13/03/2005 V1.0

Un peu de ménage s’imposait ^^ du coup après une reprise des commentaires disséminé à droite et à gauche relative à cette classe, voila un post tout beau tout neuf ^^.

NB : la classe est compatible GD 1 et 2 (un simple paramètre à changer dans le code source)

06/10/2004

Comme ces derniers temps je fait et refait régulièrement le même genre de tranche de code pour générer des miniatures d’image, ou quelques traitements divers (filtre N/B ou autres) j’ai réuni tout les morceau de code dont je disposais dans une classe unique et j’ai mis au propre l’ensemble.

Au final j’obtient une classe ImageFilter dont la source (et une démo) sont dispo par ici

En éspérant que ça servira à d’autre ^^

Voici la liste des fonctions disponnibles :

  • setColorsToWork($nb)
  • clear()
  • createImage($w,$h)
  • loadImage($path)
  • getImageSize($img=NULL)
  • output($type='PNG',$JPG_Q=90)
  • function crop($X,$Y,$WIDTH,$HEIGHT)
  • resize($WIDTH,$HEIGHT,$MODE='force',$EXPAND=false)
  • fill($x,$y,$r,$g,$b)
  • lightContrast($L=0,$C=0) //$C et L (0-100) Thks to TeddyBer
  • negative()
  • colorize($whiteness, $decalR, $decalG, $decalB)
  • grayscale($taux=1)
  • sepia()
  • mosaic($wSize, $hSize=0 )
  • stamp($img, $x, $y, $mode='normal' )
  • palettedToTrueColor()
  • applyMatrix3x3($matrix) // pas bon pour le CPU
  • Blur($k=1)
  • Edge($k=1)
  • Sharpen($k=1)
  • flip($flip='h') // h,v Thks to ZeuBeuBeu
  • rotation($angle=90) // 90,180,270 Thks to ZeuBeuBeu

La métode Stamp supporte 6 mode de fusion

  • normal = Pix1 <= Pix2
  • multiply = Pix1 <= Pix1*Pix2/255 (si Pix2 = 255 = Blanc pas de changement)
  • add = Pix1 <= Pix1+Pix2
  • difference = Pix1 <= Abs(Pix1-Pix2)
  • lighten = Pix1 <= max(Pix1,Pix2)
  • darken = Pix1 <= min(Pix1,Pix2)