Obtener altura y anchura de imágenes

Buenas, primer mensaje de un novato (llevo unos cinco días con rails)

He logrado montar algo, página con categorías y productos. Cada producto
tiene un número indeterminado de imágenes que logro mostrarlas bien.
Peeero, para presentarlas necesito saber sus dimensiones y no encuentro
la manera de hacerlo (es para hacer algo con javascript). Aunque he
parece que existe algo (sin usar rmagick, ver link) no tengo ni idea de
como aplicarlo.

En este foro ( Determining width and height of image files - Rails - Ruby-Forum )encontré
esto ( BigBold - Informasi Tentang Bisnis dan Marketing ) pero como
comento arriba soy novatísimo y no se, ni cómo funciona ni como
implementarlo

Si alguien me puede echar una cable, agradecido
Un saludo
Miguel

Algo asi te puede servir, recuerda tambien incluir en tu proyecto la
clase JPG. Si tu app va se va a limitar solo a formatos JPEG, por
ejemplo, puedes simplificar este código aún más.

def image_size(filename)
ext = filename.upcase.slice(filename.length-3, filename.length)
if ext == ‘GIF’
IO.read(filename)[6…10].unpack(‘SS’)
elsif ext == ‘BMP’
d = IO.read(filename)[14…28]
d[0] == 40 ? d[4…-1].unpack(‘LL’) : d[4…8].unpack(‘SS’)
elsif ext == ‘PNG’
IO.read(filename)[0x10…0x18].unpack(‘NN’)
elsif ext == ‘JPG’
jpg = JPG.new(filename)
[jpg.width, jpg.height]
else
raise “Formato de imagen no soportado”
end
end

width, height = image_size(filename)

Gracias Esteban, con este código simplificado entiendo un poco mejor por
donde van los tiros, pero me sigue fallando lo básico (me da hasta
vergüenza)
¿Cómo incluyo la la clase JPG? ¿Donde la ubico?

Muchas gracias y siento ser tan patoso
Un saludo

Miguel
si lo vas a usar solamente al dato con js me parece mejor usar
javascript para saberlo, no soluciones todo del lado del server.

var imagen = document.getElementById(‘myimg’);
var alto = imagen.height;
var ancho = imagen.width;

Saludos
Hernán

No entiendo por que no usas Rmagick?

imagen = Magick::Image.read(“imagen.gif”)
image.rows => (altura en pixels)
image.columns => (anchura en pixels)