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

fii*_*iiv 17 ruby rmagick

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

image.x_resolutionimage.y_resolution由于某种原因,两者都返回0.

Nei*_*ter 50

require 'rmagick'
img = Magick::Image.ping( 'demo.png' ).first
width = img.columns
height = img.rows
Run Code Online (Sandbox Code Playgroud)

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

  • 如果您只对图像元数据感兴趣,但不关心像素数据,则应使用`ping`而不是`read`.参见[文档页面](http://www.imagemagick.org/RMagick/doc/ilist.html#ping) (2认同)