2015-11-05 87 views
0

我试图将几个图像附加到一个大图像,但第一个障碍实际上只是让图像打开。Imagick:从路径打开文件,调整大小,保存到文件夹

我试图做到以下几点:从路径

  1. 打开图像
  2. 大小其与指定尺寸
  3. 将其保存到当前文件夹

我有以下:

define('WIDTH', 600); 
define('HEIGHT', 800); 

$img = new Imagick(); 
$img->readImage('dress.jpg'); 
$img->writeImage('image1.png'); 

我可以保存图像,但我不知道要在哪里添加WIDTHHEIGHT的定义?

我试着做以下几点:

$img->newImage(WIDTH, HEIGHT, $img); 

回答

0
$img = new Imagick(); 
$img->readImage('dress.jpg'); 

$img->resizeImage(WIDTH, HEIGHT, Imagick::FILTER_LANCZOS, 1); 

$img->writeImage('image1.png'); 

“创造”与new Imagick()你在一个资源“工作”的图像资源之后。 readImage()读取资源中存在的图像 - 之后,您可以调整资源大小并在完成工作后将其写出。

查看文档更多信息Imagick::resizeImage()

随着new Imagick(WIDTH, HEIGHT)创建具有给定大小的空白画布图像资源。

+0

恐怕这是行不通的。图像仍然与以前一样大小。 – user1486133

+0

您是否尝试过手册页中的示例并添加了“FILTER”参数?我已经编辑了我对这个改变的回答。 看到这个评论http://php.net/manual/de/imagick.resizeimage.php#77339 – pmayer