note 44244 modified in function.imagecolorallocate by danbrown

From: Date: Fri, 24 Apr 2009 12:51:58 +0000
Subject: note 44244 modified in function.imagecolorallocate by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-153672@lists.php.net to get a copy of this message
Some of you maybe want to use HSV color model for drawing color selectors and circles: <?php function &colormap_hsv_to_rgb($h, $s, $v) { $ret = new stdClass(); if($s == 0) { $ret->r = $v; $ret->g = $v; $ret->b = $v; return $ret; } else { $h = floatval($h) / 255.0; $s = floatval($s) / 255.0; $v = floatval($v) / 255.0; $hue = $h; if($hue == 1.0) $hue = 0.0; $hue *= 6.0; $i = intval($hue); $f = $hue - floatval($i); $w = $v * (1.0 - $s); $q = $v * (1.0 - ($s * $f)); $t = $v * (1.0 - ($s * (1.0 - $f))); switch($i) { case 0: $ret->r = $v; $ret->g = $t; $ret->b = $w; break; case 1: $ret->r = $q; $ret->g = $v; $ret->b = $w; break; case 2: $ret->r = $w; $ret->g = $v; $ret->b = $t; break; case 3: $ret->r = $w; $ret->g = $q; $ret->b = $v; break; case 4: $ret->r = $t; $ret->g = $w; $ret->b = $v; break; case 5: $ret->r = $v; $ret->g = $w; $ret->b = $q; break; } } $ret->r = intval($ret->r * 255.0); $ret->g = intval($ret->g * 255.0); $ret->b = intval($ret->b * 255.0); return $ret; } ?> --was-- Some of you maybe want to use HSV color model for drawing color selectors and circles: <? function &colormap_hsv_to_rgb($h, $s, $v) { $ret = new stdClass(); if($s == 0) { $ret->r = $v; $ret->g = $v; $ret->b = $v; return $ret; } else { $h = floatval($h) / 255.0; $s = floatval($s) / 255.0; $v = floatval($v) / 255.0; $hue = $h; if($hue == 1.0) $hue = 0.0; $hue *= 6.0; $i = intval($hue); $f = $hue - floatval($i); $w = $v * (1.0 - $s); $q = $v * (1.0 - ($s * $f)); $t = $v * (1.0 - ($s * (1.0 - $f))); switch($i) { case 0: $ret->r = $v; $ret->g = $t; $ret->b = $w; break; case 1: $ret->r = $q; $ret->g = $v; $ret->b = $w; break; case 2: $ret->r = $w; $ret->g = $v; $ret->b = $t; break; case 3: $ret->r = $w; $ret->g = $q; $ret->b = $v; break; case 4: $ret->r = $t; $ret->g = $w; $ret->b = $v; break; case 5: $ret->r = $v; $ret->g = $w; $ret->b = $q; break; } } $ret->r = intval($ret->r * 255.0); $ret->g = intval($ret->g * 255.0); $ret->b = intval($ret->b * 255.0); return $ret; } ?> http://php.net/manual/en/function.imagecolorallocate.php

« previous php.notes (#153672) next »