ImageMagick - 如何计算磁盘缓存和内存使用量?

时间:2018-05-18 14:47:05

标签: imagemagick

我正在尝试使用ImageQuick 7在Windows 10上调整十个21 GiB PSB图像:

Version: ImageMagick 7.0.7-31 Q16 x64 2018-05-07 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2018 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Visual C++: 180040629
Features: Cipher DPC Modules OpenMP
Delegates (built-in): bzlib cairo flif freetype gslib heic jng jp2 jpeg lcms lqr lzma openexr pangocairo png ps raw rsvg tiff webp xml zlib

图片详情:

d:\magick identify -verbose extreme.psb
Image: extreme.psb
  Format: PSB (Adobe Large Document Format)
  Class: DirectClass
  Geometry: 70866x53291+0+0
  Resolution: 6000x6000
  Print size: 11.811x8.88183
  Units: PixelsPerInch
  Colorspace: sRGB
  Type: TrueColor
  Base type: Undefined
  Endianess: MSB
  Depth: 16-bit
  Channel depth:
    Red: 16-bit
    Green: 16-bit
    Blue: 16-bit
  Channel statistics:
    Pixels: 3776520006
[...]

我使用ImageMagick's formula(在"缓存存储和资源要求")下进行了一些数学计算:

  

宽度*高度*位深度/ 8 *通道

这将使缓存文件大30,212,160,048字节。

然后尝试调整图像大小:

d:\magick extreme.psb -resize 95% extreme.tiff

但是,它仍然停止(15分钟后),并留言说:

magick: unable to extend cache 'extreme.psb': No space left on device @ error/cache.c/OpenPixelCache/3673.

SSD磁盘有48 GiB可用于缓存 - 包括原始图像的60 GiB。即使缓存文件是30 GiB,它仍然会剩下18 GiB。

如何预测处理(任意)图像所需的总尺寸?

旁注:正如您所看到的,我能够在其上运行identify -verbose,这也创建了一个21 GiB临时文件。所以我认为可能会有更多临时文件而不是眼睛。

0 个答案:

没有答案