0

convertImageMagickのコマンドを実行できない新しいホスティング会社に引っ越しています。だから私は今、まっすぐなPHPを通してそれをやろうとする必要があります. 私はそれを理解しようとかなりの時間を費やしましたが、どこを見ても、人々は私のconvertようにコマンドを使用することを推奨しています。次のコマンドをストレート PHP で記述する際のヘルプやガイダンスをいただければ幸いです。

# Applies overlay $filter_image to the original $image
convert $image ( -clone 0 -alpha off $filter_image -compose SoftLight -composite ) -compose SrcIn -composite $output_image

# Apply a blur to an image
convert $image -blur 0x$blur_radius $output_image

更新

構文を理解し、回答として投稿しました。

4

2 に答える 2

1

幸運を祈ります。exec を使用できるホストに変更することをお勧めします。

私のサイトには、何かを組み合わせることができる imagick 関数の例がいくつかあります: http://www.rubblewebs.co.uk/imagick/functions/function.php

Imagick ではなく Imagemagick コードを投稿したことに気付きました。これは、Imagick のぼかしコードを知っているとおりです。

bool blurImage ( float $radius , float $sigma [, int $channel ] )

<?php  
$im = new Imagick($input); 
$im->blurImage( 0, 3 ); 
$im->writeImage('blurImage.jpg');  
$im->destroy(); 
?> 

使用したいので、投稿に Imagick タグを追加する価値があるかもしれません。

于 2012-11-26T22:17:13.090 に答える
0

私は最終的に自分でそれを理解しました。他の誰かがこれに遭遇した場合の解決策は次のとおりです。

画像をぼかす...

$imagick = new Imagick($image);
$imagick->blurImage(0,$blur_radius);
$imagick->writeImage($output_image);

画像にオーバーレイを追加...

$imagick = new Imagick($image);
$overlay = new Imagick($filter_image);

$imagick->compositeImage($overlay, imagick::COMPOSITE_SOFTLIGHT, 0, 0);
$imagick->writeImage($output_image);

2 つの方法を簡単に組み合わせて、画像をぼかしてから、合成オーバーレイを追加することもできます。

$imagick = new Imagick($image);
$imagick->blurImage(0,$blur_radius);

$overlay = new Imagick($filter_image);
$imagick->compositeImage($overlay, imagick::COMPOSITE_SOFTLIGHT, 0, 0);

$imagick->writeImage($output_image);
于 2012-11-27T00:54:32.843 に答える