Profil supprimé | voilà ce que j'ai fait
Code :
- function teinte(&$image,$setR,$setG,$setB,$luminosite = 0) {
- imagetruecolortopalette($image, true, 256);
-
- $nbcolors = imagecolorstotal($image);
- if (($setR < -255) || ($setR > 255)) return;
- if (($setG < -255) || ($setG > 255)) return;
- if (($setB < -255) || ($setB > 255)) return;
- $rateR = 1/3;
- $rateG = 1/3;
- $rateB = 1/3;
- for ($i = 0; $x < $nbcolors; $x++) {
- $couleur_index = imagecolorsforindex($image,$i);
- $new_color = min(255,abs($couleur_index["red"] * $rateR + $couleur_index["green"] * $rateG + $couleur_index["blue"] * $rateB) + $luminosite);
-
- $r = min(255,$new_color + $setR);
- $g = min(255,$new_color + $setG);
- $b = min(255,$new_color + $setB);
- imagecolorset($image,$i,$r,$g,$b);
- }
- }
- exemple :
- $im = imagecreatefromjpeg('image.jpg');
- teinte($im,150,0,0);
- imagejpeg($im);
- imagedestroy($im);
|
|