0

私はImageMagickの学習曲線の始まりにいます。切り抜かれたテキストの見栄えを良くするために、外側のライトドロップシャドウを使用してパターン化された背景にテキストを作成することに成功しました。効果を仕上げるには、テキストと内側の暗いドロップシャドウを付ける必要があります。PHPを手伝ってくれるImageMagickの専門家はいますか?これは私が満足しているこれまでの私のコードです。

<?php
header('Content-type: image/jpeg');
$background_layer = new Imagick('test_background.jpg'); # background image
$d = $background_layer->getImageGeometry();
$w = $d['width'];
$h = $d['height']; 
$text_layer = new Imagick();
$text_layer->newImage($w, $h, new ImagickPixel('none'));
$text_layer->setImageFormat('png');
$ImagickDraw = new ImagickDraw();
$ImagickDraw->setFillColor('#484848');
$ImagickDraw->setFont('Helvetica-Bold');
$ImagickDraw->setFontSize( 40 );
$ImagickDraw->setTextAlignment(2); // centre

$text_layer->annotateImage( $ImagickDraw, $w / 2, 50, 0, "Stuart's\niPhone" );

// create white drop shadow on it's own layer 
$shadow_layer_white = $text_layer->clone(); 
$shadow_layer_white->setImageBackgroundColor( new ImagickPixel( 'white' ) ); 
$shadow_layer_white->shadowImage( 70, .3, 1, 1 ); 

// composite original text_layer onto shadow_layer 
$shadow_layer_white->compositeImage( $text_layer, Imagick::COMPOSITE_OVER, 0, 0 ); 
// composite shadow_layer (which now has text AND the shadow) onto image_layer 
$background_layer->compositeImage( $shadow_layer_white, Imagick::COMPOSITE_OVER, 0, 0 ); 
echo($background_layer);
?>

私は画像を投稿するには新しすぎるので、あなたは私がこれまでに持っているものを見ることができます

http://www.avforums.com/images/temptest.php

テキストに内部の暗いドロップシャドウを追加するためにあなたが与えることができるどんな助けもいただければ幸いです。ありがとう

4

1 に答える 1

0

Imagemagick ではなく Imagick を直接使用しており、そのタグも追加したい場合があります。

私は Imagick を使用しませんが、shadeimageは一度にやりたいことを実行する必要がありますか?

于 2013-01-12T19:49:05.363 に答える