【问题标题】:Resize image using imagick使用imagick调整图像大小
【发布时间】:2015-11-03 03:03:21
【问题描述】:

我正在尝试将包含多个页面的 PDF 文件转换为不同的 JPG。我正在使用上面的代码:

$pdf_in = 'file.pdf';

$img_array = array();
$im = new imagick();
$im->setResolution(144,144);
$im->readImage($pdf_in);
$im->setImageCompressionQuality(85);
$num_pages = $im->getnumberimages();
$i = 0;

for($x = 1;$x <= $num_pages; $x++) {
    $im->setiteratorindex($i);
    $im->thumbnailImage(990,0);
    $im->setimageformat('jpeg');
    $im->writeImage("page".$x.".jpg");
    $i++;
}

$im->clear();
$im->destroy();

转换顺利,所有 JPG 都按预期创建。但是,只有在我使用 thumbnailImage() 函数时才会创建 core.xxxx 文件。

编辑:所有生成的 JPG 必须有 990px​​ 的宽度。所以我使用 thumbnailImage() 函数来做到这一点。但是当我使用这个函数时,每次运行脚本都会生成一个大小为 200mb 或更大的 core.xxxx 文件,几天之内就会填满我在磁盘上的所有空间。如果我注释掉 $ im- > thumbnailImage (990,0) 行,则不会生成核心文件,但 JPG 将没有正确的宽度。问题是:为什么会生成这个文件,有没有办法避免这种情况?我可以用其他方式调整图像大小吗?

我正在使用 imagick ver 6.7.2-7 2015-07-23 和 cpanel

谁能解释一下出了什么问题?

PS:我不想使用 exec 函数,因为它会占用大量 CPU 和 RAM。

【问题讨论】:

  • "只有当我使用 thumbnailImage() 时才会创建一个 core.xxxx 文件" 代码中没有 core 这个词。因此,显然您遇到的问题与您发布的代码无关。请您澄清一下您遇到了什么问题。
  • Danack所有生成的JPG必须有990px​​的宽度。所以我使用 thumbnailImage() 函数来做到这一点。但是当我使用这个功能时,会生成一个大小为 200mb 或更大的核心文件,几天之内就填满了我在磁盘上的所有空间。如果我注释掉 $ im- > thumbnailImage (990,0) 行,则不会生成核心文件,但 JPG 将没有正确的宽度。问题是:为什么会生成这个文件,有没有办法避免这种情况?我可以用其他方式调整图像大小吗?感谢您的关注。
  • 你的问题还是很难理解......你的意思是有一个临时文件没有被删除吗?
  • 正是丹纳克。每次我运行脚本时,都会有一个巨大的 core.#### 文件被存放到脚本所在的目录中,并且消耗了大量的磁盘空间。我想避免或自动删除这些核心文件。似乎核心转储仅在程序崩溃时发生,但所有 JPG 都正确生成。感谢您的帮助,如果您需要我可以再次解释。

标签: php image-resizing imagick


【解决方案1】:

留下临时文件要么是您安装的 ImageMagick 版本中的错误,要么是应用程序在执行过程中崩溃的结果。

我认为您需要手动或通过常规任务清理这些文件。例如http://www.imagemagick.org/discourse-server/viewtopic.php?t=15960

【讨论】:

    【解决方案2】:

    我刚刚找到了解决方案。而不是使用

    $im->thumbnailImage(990,0);
    

    我用过

    $im->scaleImage(990,0);
    

    它奏效了。不再创建核心文件。我之前也尝试过 resizeImage() 函数,但这是同样的问题。谢谢丹纳克的关注。问题解决了。

    【讨论】:

      猜你喜欢
      • 2021-07-20
      • 2015-06-16
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 2018-07-06
      • 2015-10-27
      • 1970-01-01
      • 2015-10-22
      相关资源
      最近更新 更多