Path: blob/master/src/applications/lipsum/image/PhabricatorLipsumArtist.php
12256 views
<?php12abstract class PhabricatorLipsumArtist extends Phobject {34protected function getHSBColor($h, $s, $b) {5if ($s == 0) {6$cr = $b;7$cg = $b;8$cb = $b;9} else {10$h /= 60;11$i = (int)$h;12$f = $h - $i;13$p = $b * (1 - $s);14$q = $b * (1 - $s * $f);15$t = $b * (1 - $s * (1 - $f));16switch ($i) {17case 0:18$cr = $b;19$cg = $t;20$cb = $p;21break;22case 1:23$cr = $q;24$cg = $b;25$cb = $p;26break;27case 2:28$cr = $p;29$cg = $b;30$cb = $t;31break;32case 3:33$cr = $p;34$cg = $q;35$cb = $b;36break;37case 4:38$cr = $t;39$cg = $p;40$cb = $b;41break;42default:43$cr = $b;44$cg = $p;45$cb = $q;46break;47}48}4950$cr = (int)round($cr * 255);51$cg = (int)round($cg * 255);52$cb = (int)round($cb * 255);5354return ($cr << 16) + ($cg << 8) + $cb;55}5657public function generate($x, $y) {58$image = imagecreatetruecolor($x, $y);59$this->draw($image, $x, $y);60return PhabricatorImageTransformer::saveImageDataInAnyFormat(61$image,62'image/jpeg');63}6465abstract protected function draw($image, $x, $y);6667}686970