0

请查看以下链接,您将获得凹凸文字:

http://www.wristbandtoday.com/wristband/gd/load.php?路线=font&size=30&name=1391601784Artbrush.ttf&effect=debossed&color=222222&text=Debossed

我知道如何压印文字:

$emboss = array(array(2, 0, 0), array(0, -1, 0), array(0, 0, -1));
imageconvolution($im, $emboss, 3, 235);

这是以下代码,通过 php 制作文本并获得浮雕效果:

 header('Content-Type: image/png');

        // The text to draw
        $text = "Ebossed";
        // Replace path by your own font path
        $font = WWW_ROOT.DS.'fonts/uploads/9559122015-03-27Artbrush.ttf';

        $fontSize = 32;

        $text_angle = 0;

        $text_padding = 0;

        $the_box = $this->_calculateTextBox($text, $font, $fontSize, $text_angle);

        $imgWidth = $the_box["width"] + $text_padding;
        $imgHeight = $the_box["height"] + $text_padding; 

        $im = imagecreatetruecolor($imgWidth, $imgHeight);

        // Create some colors
        $white = imagecolorallocate($im, 255, 255, 255);
        $grey = imagecolorallocate($im, 128, 128, 128);
        $black = imagecolorallocate($im, 0, 0, 0);
        imagefilledrectangle($im, 0, 0, $imgWidth-1, $imgHeight-1, $white);

        // Add some shadow to the text
        imagettftext($im, $fontSize, $text_angle, 0, 32, $grey, $font, $text);

        // Add the text
        imagettftext($im, $fontSize, $text_angle, 0, 32, $black, $font, $text);

        $emboss = array(array(2, 0, 0), array(0, -1, 0), array(0, 0, -1));
        imageconvolution($im, $emboss, 3, 235);

        imagepng($im,WWW_ROOT.DS.IMAGES_URL.'test/newtes.png'); // image path
        imagedestroy($im);

你如何创建凹凸效果?

4

2 回答 2

3

对于凹凸效果,请应用以下代码行:

$debosseffect = array
    (
        array(0, 0, 1),
        array(0, -1, 1),
        array(0, 0, -1)
    );

谢谢

于 2015-04-30T05:13:00.280 回答
1

最后我得到了获得凹凸效果的解决方案

$image = imagecreatefromjpeg(WWW_ROOT.DS.IMAGES_URL.'cliparts/'.$img);
        $sharpenMatrix = array
        (
            array(0, 0, 1),
            array(0, -1, 1),
            array(0, 0, -1)
        );

        // calculate the sharpen divisor
        $divisor = 3;

        $offset = 235;

        // apply the matrix
        imageconvolution($image, $sharpenMatrix, $divisor, $offset); 

        header('Content-Type: image/png');
        imagepng($image, null, 9);
        imagegd($image);
        imagedestroy($image);
于 2015-04-30T04:16:12.710 回答