2

クライアントが製品画像の上にフレーム画像を変更する必要がある時点で、私は立ち往生しています。画像サイズが 200 * 400 の場合、画像フレームが製品画像に適用され、製品画像が 400*200 の場合、マニュアル情報なしで同じフレームが製品画像に (動的に) 適用されます。imagemagick を使用して可能だと思います。そのために、この URL ( http://www.fmwconcepts.com/imagemagick/picframe/index.php ) を見つけましたが、コマンド ラインを使用していますが、コマンド ラインなしで使用したいのです。

私は与えられたページのようなものを作っています:- URL: http://fineartamerica.com/products/conversations-laura-sue-canvas-print.html

私の問題をうまく説明できたことを願っています。私を助けてください。事前にご支援いただきありがとうございます。

4

3 に答える 3

2

次のコードが私のために働いた同様の要件がありました

    $over = new Imagick($_SERVER['DOCUMENT_ROOT'] .'ks/new.png'); // load frame
    $pic = new Imagick($_FILES['pic']['tmp_name']); // load image
    $pic->resizeImage(1299,1722,Imagick::FILTER_LANCZOS,1); // resize your image to the size of your frame
    $pic->setImageFormat ("png"); //  set formate of final image
    $pic->compositeImage($over, Imagick::COMPOSITE_DEFAULT, (((($pic->getImageWidth()) - ($over->getImageWidth())))/2), (((($pic->getImageHeight()) - ($over->getImageHeight())))/2));
    $name=rand(1,10000000000);
    file_put_contents ("pictures/$name.png", $pic);
    $pic->destroy(); 
于 2015-02-28T06:38:04.730 に答える
1

http://php.net/manual/en/function.getimagesize.phpを見てください。imagemagick は必要ありません。

ただし、外部 URL を使用するには、php ini で url_allow_fopen = true を有効にする必要があります (ランタイムが機能するかどうかはわかりません)。

于 2013-05-13T10:27:40.800 に答える