2013-04-28 24 views
13

Bu aptalca bir soru olabilir, ancak piksel cinsinden resim genişliği ve yüksekliği nasıl bulunur?RMagick - Bir resmin piksel boyutunu nasıl bulabilirim

image.x_resolution ve image.y_resolution her ikisi için 0 nedense dönün.

+0

'x_resolution' ve' y_resolution', çıkış aygıtlarıyla yapılacak özelliklerdir - ör. piksel inç başına. –

cevap

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

Not yorumlardan ithal .ping yöntem olacaktır. Görüntüyü işlemek için okumak gerekiyorsa, Magick::Image.read('demo.png').first kullanın - ping kullanımı bu bağımsız kodda çalışır ve IM'nin yalnızca bir başlık bloğunu okuyabildiği bazı görüntü türleri için işlemeyi hızlandırır. Bu, üzerinde çalışmak için resmin kendisini yüklemeniz gerekmediği durumlar için kullanışlıdır.

+0

Teşekkürler, iyi efendim, bu sorumu cevaplıyor. – fiiv

+2

Sadece görüntü meta verileriyle ilgileniyorsanız, ancak piksel verisiyle ilgilenmiyorsanız, 'read' yerine' ping 'kullanmalısınız. Bkz. [Doc sayfası] (http://www.imagemagick.org/RMagick/doc/ilist.html#ping) – Kelvin

+1

Biraz daha temiz imo: 'img = Magick :: Image.read ('demo.png') [0 ]; width, height = image.columns, image.rows' – mahemoff