使用 image_processing 将 --density 标志添加到 libvips 命令?

Add --density flag to libvips command with image_processing?

我正在尝试将 --density 标志添加到 libvips 命令,以便 PDF(或其他矢量图像)以可接受的分辨率转换为 JPG。

上下文——在我升级到 image_processing 的最新版本之前,我使用的是旧版本的 MiniMagick,并且能够使用以下代码添加任意标志:

  MiniMagick::Tool::Convert.new do |convert|
    convert << "-verbose" 
    convert << "-background" << "white"
    convert << "-flatten"
    convert << "-density" << "300"
    convert << page.path          
    convert << "-quality" << "82"
    convert << page_image.path
  end

我认为 ImageMagick -density 的 libvips 等价物是 vips_pdfload() 上的 :dpi 选项。使用 image_processing gem 您可以通过 loader:

进行设置
require "image_processing/vips"

ImageProcessing::Vips
  .source(image)
  .loader(dpi: 300)
  .saver(quality: 82)
  # ...