【问题标题】:clone imagick object - wrong output克隆 imagick 对象 - 错误的输出
【发布时间】:2016-05-29 23:06:12
【问题描述】:

以下代码生成完全不同的图像克隆。让我演示给你看:

$image = 'image_input.jpg';
$im = new Imagick();

$im->pingimage($image);
$im->readimage($image);

$im_clone = clone $im;

$im_clone->writeimage('image_output.jpg');
$im_clone->clear();
$im->clear();

【问题讨论】:

  • 你用的是什么版本的imagemagick和php?
  • 另外,您是否尝试过引用输入图像的完整路径?
  • 它在使用完整路径时也产生相同的输出。 PHP 版本:5.5.22 Imagick:3.4.0RC6 ImageMagick:6.9.0

标签: php imagemagick clone imagick


【解决方案1】:

这适用于 PHP 5.6:

<?php
$image = new Imagick();
$image->readimage('input.jpg');

$im_clone = clone $image;
$im_clone->writeimage('result.jpg');
?>

【讨论】:

  • 刚刚尝试不使用 $image->pingimage('nput.jpg') 并且它在 PHP 5.5 上运行良好。显然是 Imagick::pingimage() 方法以某种方式搞砸了结果。问题仍然是为什么。
  • 你为什么要这样称呼它?它只读取足够的图像以确定其大小。
  • 现在,在我查看文档后,我发现它在我使用过的上下文中毫无用处。我这样做了,因为我在某处读到了它的优点,但我也看到了一些不道德的行为。它一定是一个过时的来源。我会检查这个对话作为答案 - 也许它会像我一样打开某人的眼睛。
猜你喜欢
  • 1970-01-01
  • 2019-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-24
  • 2011-11-07
  • 2013-01-03
  • 2017-02-11
相关资源
最近更新 更多