如何查找图像的宽度和高度(以像素为单位)?
image.x_resolution
和image.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只需读取标题块。这在您无需加载图像本身即可对其进行工作的情况下非常有用。
ping
而不是read
。请参阅[文档页面](http://www.imagemagick.org/RMagick/doc/ilist.html#ping)。 - Kelvinimg = Magick::Image.read('demo.png')[0]; width, height = image.columns, image.rows
- mahemoff[0]
。答案实际上与略微晦涩的方法名 columns
和 rows
有关……你完全可以自行决定如何使用它们。 - Neil Slater您可以从img.inspect获取图像尺寸-包含在http://www.imagemagick.org/RMagick/doc/image2.html的说明中。
一个例子是
f.inspect » "images/Flower_Hat.jpg JPEG 200x250 DirectClass 8-bit 9kb"
x_resolution
和y_resolution
是与输出设备有关的属性,例如每英寸像素数。 - Neil Slater