簡體   English   中英

如何將ImageMagic Shell命令轉換為等效的PHP腳本?

[英]How can I convert an ImageMagic shell command to an equivalent PHP script?

我有以下shell腳本,幾乎是從ImageMagick手冊中逐字復制的:

  convert input.jpg -background White -pointsize 32 label:'Hello world' +swap  -gravity Center -append output.jpg;

現在,我想在共享的虛擬主機上運行相同的操作(似乎沒有可用的convert命令)。 從表面上看,從命令行到PHP的映射似乎很簡單,但實際上並非如此。 下面的代碼不變地打印輸入圖像。

//header('Content-type: image/jpeg');

$image = new Imagick('input.jpg');

$image->setBackgroundColor("White");
$image->setPointSize(32);
$image->setGravity(imagick::GRAVITY_CENTER);
$image->labelImage("hello world");
echo $image->count(); // 1
echo $image->appendImages(True);
//echo $image;

labelImage函數的文檔很少,並且似乎根本不起作用。 此外,沒有swap功能。

在圖像頂部添加標題的等效PHP代碼是什么?

[編輯]

似乎labelImage只是設置了一個屬性,就像commentImage (這次提供的示例)一樣。 有一個render命令看起來很有希望,但會給出錯誤: Fatal error: Call to undefined method Imagick::render() 奇...

我不知道標簽,但是鏈接文檔中使用splice的第二種方法確實可以很好地轉換:

$image = new Imagick("memes/$name.jpg");
$draw = new ImagickDraw();

$image->setBackgroundColor("White");
$image->spliceImage(0, 40, 0, 0);

$draw->setFillColor('black');
$draw->setFontSize( 28 );
$draw->setGravity(Imagick::GRAVITY_NORTH);
$image->annotateImage($draw, 10, 10, 0, $label);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM