laravel使用Image这个package的一个问题
世界只因有你
世界只因有你 2017-05-16 16:49:27
0
1
1433

文档在这里:
http://image.intervention.io/...

文档中有个example,其中有这么一段代码:

$img->text('foo', 0, 0, function($font) {
    $font->file('foo/bar.ttf');
    $font->size(24);
    $font->color('#fdf6e3');
    $font->align('center');
    $font->valign('top');
    $font->angle(45);
});

上面example的问题:
基准坐标,也就是上面代码中的0, 0是指一张图片的四个角的哪一个角?

参照上面的示例,写了一段demo,如下:

Image::canvas(160, 20)->text('1234567890', 80, 10, function ($font) {
            $font->file('/fonts/Elephant.ttf');
            $font->size(24);
            $font->align('center');
            $font->valign('middle');
        });

上面的代码的功能是:
1、创建一个160*20像素的图片;
2、在图片上居中写上字符1234567890

我的demo的问题:

1、加上$font->file('/fonts/Elephant.ttf');这一句,laravel会报错,GD库有点什么问题,不知怎么解决:

NotSupportedException in Font.php line 30:
Internal GD font () not available. Use only 1-5.

2、去掉$font->file('/fonts/Elephant.ttf');这一句,可以生成一张图片,但是$font->size();不起作用,无论把size()里面的数值设置为多少,文字大小都不会变,主要是没有填满整个图片,而是留了太多白,生成的图片如下所示:

请大神帮看看怎么回事。

世界只因有你
世界只因有你

全部回复(1)
小葫芦

关于第二个参数,文档上是这样的

Font File

public Intervention\Image\Font file(string $filepath)

Set path to a True Type Font file or a integer value between 1 and 5 for one of the GD library internal fonts. Default: 1

也就是说可以传2种值:

  • 第一种,路径 . 应该是相对web目录或者相对当前文件目录,类似例子里的 foo/bar 而不是 /foo/bar .

  • 第二种, 整数 1 - 5 使用内置字体.

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板