【发布时间】:2013-04-28 19:35:09
【问题描述】:
这可能是一个愚蠢的问题,但是如何找到以像素为单位的图像宽度和高度?
image.x_resolution 和 image.y_resolution 由于某种原因都返回 0。
【问题讨论】:
-
x_resolution和y_resolution是与输出设备有关的属性 - 例如每英寸像素数。
这可能是一个愚蠢的问题,但是如何找到以像素为单位的图像宽度和高度?
image.x_resolution 和 image.y_resolution 由于某种原因都返回 0。
【问题讨论】:
x_resolution 和 y_resolution 是与输出设备有关的属性 - 例如每英寸像素数。
require 'rmagick'
img = Magick::Image.ping( 'demo.png' ).first
width = img.columns
height = img.rows
注意从 cmets 导入的 .ping 方法。如果您需要读取图像来处理它,请使用Magick::Image.read( 'demo.png' ).first - 使用ping 在此独立代码中工作,并加快处理IM 只能读取标题块的某些图像类型。这对于您不需要加载图像本身来处理它的情况很有用。
【讨论】:
ping而不是read。见the doc page
img = Magick::Image.read('demo.png')[0]; width, height = image.columns, image.rows
[0]s。答案实际上是关于稍微模糊的方法名称 columns 和 rows 。 . .完全取决于你想如何使用它们。
您可以从 img.inspect 获取图像尺寸 - 说明包含在 http://www.imagemagick.org/RMagick/doc/image2.html
一个例子是
f.inspect » "images/Flower_Hat.jpg JPEG 200x250 DirectClass 8-bit 9kb"
【讨论】: