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 回答
1

看一下Imagick::frameImage()功能。

$image->frameImage("#aabbcc", 20, 20, 5, 5);

将在您的图像周围添加一个 20px 的蓝色框,斜角为 5px。

于 2013-05-13T10:35:04.987 回答