使用claviska的SimpleImage在图像上添加文本

问题描述 投票:0回答:1

我正在尝试使用简单图像通过claviska(https://github.com/claviska/SimpleImage#texttext-options-boundary)在图像中添加文本。

这是我得到的错误:

Fatal error: Uncaught Error: Cannot pass parameter 3 by reference in C:\xampp\htdocs\SimpleImage-master\index.php:19 Stack trace: #0 {main} thrown in C:\xampp\htdocs\SimpleImage-master\index.php on line 19

这是我的代码

<?php
require 'src/claviska/SimpleImage.php';

try {
  // Create a new SimpleImage object
  $image = new \claviska\SimpleImage();

  $image
    ->fromFile('background.png')                     // load image.jpg
    ->autoOrient()                              // adjust orientation based on exif data
    ->resize(500, 500)                          // resize to 320x200 pixels
    ->flip('x')                                 // flip horizontally
    ->colorize('DarkBlue')                      // tint dark blue
    //->border('black', 10)                       // add a 10 pixel black border

    ->overlay('img.jpg', 'center')  // add a watermark image
    ->toFile('new-image.png', 'image/png')
    ->text('text here', 'font.ttf', 32, '#FFFFFF', 'top', 0, 20)      
    // convert to PNG and save a copy to new-image.png
    ->toScreen();                               // output to the screen


} catch(Exception $err) {
  // Handle errors
  echo $err->getMessage();
}

?>
php gd gdlib
1个回答
0
投票

文本选项需要作为数组传递。

text('text here', array(
'fontFile' => 'font.ttf',
'size' => 32,
'color' => '#FFFFFF',
'anchor' => 'top')
))

Claviska GitHub文档中有完整的文本选项列表:https://github.com/claviska/SimpleImage

© www.soinside.com 2019 - 2024. All rights reserved.