0

画像の上に 2 つのテキスト (1 つは大きく、別の色で、ストロークになります) をオーバーレイしようとしていますが、結果がめちゃくちゃになってしまいます。

私は使っている

convert front2.jpg 
\( -pointsize 90 -font Helvetica-Narrow-Bold -fill black -background none -stroke black -strokewidth 15 label:"Hello World World" -virtual-pixel transparent -distort arc 160 \) -gravity north -geometry +0+12 -compose over -composite front5.jpg 
\( -pointsize 90 -font Helvetica-Narrow-Bold -fill white -stroke none -background none label:"Hello World World" -virtual-pixel transparent -distort arc 160 \) -gravity north -geometry +0+10 -compose over -composite front5.jpg

どうすればこれを行い、正しい結果を得ることができますか?

4

1 に答える 1

0

あなたの投稿を読み間違えたことに今気づきました。これらの例では、ドロップ シャドウ効果が作成されます。私が何をしようとしても、脳卒中が機能しません!更新 - ストロークは機能しますが、私のローカル セットアップでは機能しません。最後の例には脳卒中があります。

これは私にとってはうまくいきますが、かなり遅いです:

exec("convert image.jpg -thumbnail 800x800 temp.png");

$cmd = " temp.png \( -pointsize 90 -font Helvetica-Narrow-Bold -fill black -background none label:\"Hello World World\" -virtual-pixel transparent -distort arc 160 \) ".
" -gravity north -geometry +0+12 -compose over -composite  ".
" \( -pointsize 90 -font Helvetica-Narrow-Bold -fill white -background none label:\"Hello World World\" -virtual-pixel transparent -distort arc 160 \) ".
" -gravity north -geometry +0+10 -composite ";

exec("convert $cmd text_circle.png"); 

これで半分の時間で完成ですが、画像よりも文字が大きいのが難点!$size[0] と $size[1] を減らすためにいくつかの計算を行うと、それを克服できます。

$size = getimagesize("temp.png");
$cmd = " temp.png \( \( -size $size[0]x$size[1] xc:none -fill black -font Helvetica-Narrow-Bold -pointsize 90 -stroke black -strokewidth 4 -gravity north -annotate +0+0 \"Hello World World\" -font Helvetica-Narrow-Bold -fill white -annotate +3+3 \"Hello World World\" \) -virtual-pixel transparent -distort arc 160 \) ".
" -composite ";
exec("convert $cmd text_circle1.png"); 
于 2012-12-01T09:12:34.157 に答える