/** * Test convertHexToRGB */ public function testConvertHexToRGB() { // First test $hex = 'ffffff'; $rgb = ImageWorkshopLib::convertHexToRGB($hex); $this->assertTrue(getType($rgb) === 'array', 'Expect $rgb to be an array'); $this->assertTrue((array_key_exists('R', $rgb) && array_key_exists('G', $rgb) && array_key_exists('B', $rgb)) == 3, 'Expect $rgb to have the 3 array keys: "R", "G", and "B"'); $this->assertTrue($rgb['R'] === 255, 'Expect $rgb["R"] to be an integer of value 255'); $this->assertTrue($rgb['G'] === 255, 'Expect $rgb["G"] to be an integer of value 255'); $this->assertTrue($rgb['B'] === 255, 'Expect $rgb["B"] to be an integer of value 255'); // Second test $hex = '000000'; $rgb = ImageWorkshopLib::convertHexToRGB($hex); $this->assertTrue($rgb['R'] === 0, 'Expect $rgb["R"] to be an integer of value 0'); $this->assertTrue($rgb['G'] === 0, 'Expect $rgb["G"] to be an integer of value 0'); $this->assertTrue($rgb['B'] === 0, 'Expect $rgb["B"] to be an integer of value 0'); }
/** * Add a text on the background image of the layer using a font localized at $fontPath * Return the text coordonates. * * @param string $text * @param int $fontPath * @param int $fontSize * @param string $color * @param int $positionX * @param int $positionY * @param int $fontRotation * * @return array */ public function write($text, $fontPath, $fontSize = 13, $color = 'ffffff', $positionX = 0, $positionY = 0, $fontRotation = 0) { if (!file_exists($fontPath)) { throw new ImageWorkshopLayerException('Can\'t find a font file at this path : "' . $fontPath . '".', static::ERROR_FONT_NOT_FOUND); } $RGBTextColor = ImageWorkshopLib::convertHexToRGB($color); $textColor = imagecolorallocate($this->image, $RGBTextColor['R'], $RGBTextColor['G'], $RGBTextColor['B']); return imagettftext($this->image, $fontSize, $fontRotation, $positionX, $positionY, $textColor, $fontPath, $text); }
/** * Generate a new image resource var * * @param integer $width * @param integer $height * @param string $color * @param integer $opacity * * @return resource */ public static function generateImage($width = 100, $height = 100, $color = 'ffffff', $opacity = 127) { $RGBColors = ImageWorkshopLib::convertHexToRGB($color); $image = imagecreatetruecolor($width, $height); imagesavealpha($image, true); $color = imagecolorallocatealpha($image, $RGBColors['R'], $RGBColors['G'], $RGBColors['B'], $opacity); imagefill($image, 0, 0, $color); return $image; }