RMagick – 如何找出图像的像素尺寸

这可能是一个愚蠢的问题,但如何找到图像的宽度和高度(以像素为单位)?

image.x_resolutionimage.y_resolution由于某种原因都返回0。

 require 'rmagick' img = Magick::Image.ping( 'demo.png' ).first width = img.columns height = img.rows 

注意从注释导入的.ping方法。 如果你需要读取图像来处理它,那么使用Magick::Image.read( 'demo.png' ).first – 在这个独立的代码中使用ping工作并加速处理某些图像类型的IM可以只读一个标题块。 这对于您不需要加载图像本身来处理它的情况很有用。

您可以从img.inspect获取图像尺寸 – http://www.imagemagick.org/RMagick/doc/image2.html中包含的说明

一个例子是

  f.inspect » "images/Flower_Hat.jpg JPEG 200x250 DirectClass 8-bit 9kb"