[英]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.