2

以下のコードでは、imagemagick 処理によって画像を出力しようとしています。ここでは、入力画像に境界半径を適用しています。次のコードを使用して、画像を出力フォルダーに保存すると、出力が得られます。

<?php
$input = "input.png";
$s = 10;
$t = 10;
$size = getimagesize ( $input );
$output = $outputfolder . $outputname;
exec( "convert -size " . $size [0] . "x" . $size [1] . " xc:none -fill -transparent 
-draw \"roundRectangle 0,0 " . $size [0] . "," . $size [1] . " $s,$t\"  " . $input .
" -compose SrcIn -composite " . $output . " " );
?>

ローカル フォルダーに保存されていない出力が必要ですが、出力をヘッダー コンテンツ タイプと共に表示したいと考えています。これを行うためにパススルーを使用していますが、出力が得られません。次のコードで試しています

    <?php
$input = "input.png";
header("Content-Type: image/png");
$size = getimagesize ( $input );
$s = 10;
$t = 10;
$cmd =  " - size " . $size [0] .
              "x" . $size [1] . " xc:none -fill -transparent  -draw
\"roundRectangle 0,0 " .
                $size [0] . "," . $size [1] . " $s,$t\"  " .
                 " -compose SrcIn -composite" .
                " -tile - $input";

passthru("convert $cmd PNG :-")

?>

使用したコマンドが間違っていると思います。これで私を助けてください。前もって感謝します。

4

1 に答える 1

0

ファイルを保存したい理由を説明していただけますか? 画像を変換する目的は何ですか?

その追加情報が得られるまでは、画像が CMS の一部としてアップロードされ、レイアウトに合わせて調整されてから、ユーザーに表示されると思い込みますか?

個人的にその場合は、出力ファイルを保存してから、表示するようなことをします。

header("Content-Type: image/png");
echo file_get_contents($pathToImage)

image magick it を実行する前に、ファイルが既に存在するかどうかを確認できます。これは、表示されるたびに画像を再処理し続けるよりも効率的に実行される可能性があります

于 2013-04-13T13:35:52.510 に答える