/** * (non-PHPdoc) * @see Imagine\Image\AbstractFont::box() */ public function box($string, $angle = 0) { $text = new \ImagickDraw(); $text->setFont($this->file); $text->setFontSize($this->size); $text->setFontStyle(\Imagick::STYLE_OBLIQUE); $info = $this->imagick->queryFontMetrics($text, $string); $box = new Box($info['textWidth'], $info['textHeight']); return $box; }
<?php $draw = new ImagickDraw(); $font_path = __DIR__ . '/php_imagick_tests/anonymous_pro_minus.ttf'; $draw->setFont($font_path); var_dump($draw->getFont() === $font_path); try { $draw->setFont(">_<"); } catch (Exception $ex) { var_dump("setFont"); } $draw->setFontSize(12); var_dump($draw->getFontSize()); $draw->setFontStretch(Imagick::STRETCH_SEMIEXPANDED); var_dump($draw->getFontStretch() === Imagick::STRETCH_SEMIEXPANDED); $draw->setFontStyle(Imagick::STYLE_ITALIC); var_dump($draw->getFontStyle() === Imagick::STYLE_ITALIC); $draw->setFontWeight(500); var_dump($draw->getFontWeight()); try { $draw->setFontWeight(1000); } catch (ImagickDrawException $ex) { var_dump($ex->getMessage()); }
function setFontStyle($fillColor, $strokeColor, $backgroundColor) { $draw = new \ImagickDraw(); $draw->setStrokeColor($strokeColor); $draw->setFillColor($fillColor); $draw->setStrokeWidth(1); $draw->setFontSize(36); $draw->setFontStyle(\Imagick::STYLE_NORMAL); $draw->annotation(50, 50, "Lorem Ipsum!"); $draw->setFontStyle(\Imagick::STYLE_ITALIC); $draw->annotation(50, 100, "Lorem Ipsum!"); $draw->setFontStyle(\Imagick::STYLE_OBLIQUE); $draw->annotation(50, 150, "Lorem Ipsum!"); $imagick = new \Imagick(); $imagick->newImage(350, 300, $backgroundColor); $imagick->setImageFormat("png"); $imagick->drawImage($draw); header("Content-Type: image/png"); echo $imagick->getImageBlob(); }