laravel使用Image這個package的一個問題
世界只因有你
世界只因有你 2017-05-16 16:49:27
0
1
1444

文件在這裡:
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 使用內建字體.

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板