2013-04-28 14 views
13

Questa potrebbe essere una domanda stupida, ma come si trova la larghezza e l'altezza dell'immagine in pixel?RMagick: come individuare la dimensione in pixel di un'immagine

image.x_resolution e image.y_resolution entrambi restituiscono 0 per qualche motivo.

+0

'x_resolution' e' y_resolution' sono proprietà da eseguire con i dispositivi di output - ad es. pixel per pollice. –

risposta

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

Nota .ping metodo importato da commenti. Se hai bisogno di leggere l'immagine per elaborarla, usa Magick::Image.read('demo.png').first - l'uso di ping funziona in questo codice stand-alone e accelera l'elaborazione per alcuni tipi di immagini in cui IM può solo leggere un blocco di intestazione. Questo è utile nei casi in cui non è necessario caricare l'immagine stessa per lavorare su di essa.

+0

Grazie, buon signore, che risponde alla mia domanda. – fiiv

+2

Se sei interessato solo ai metadati dell'immagine, ma non ti preoccupare dei dati dei pixel, dovresti usare 'ping' invece di' read'. Vedi [la pagina doc] (http://www.imagemagick.org/RMagick/doc/ilist.html#ping) – Kelvin

+1

Imo leggermente più pulito: 'img = Magick :: Image.read ('demo.png') [0 ]; width, height = image.columns, image.rows' – mahemoff

Problemi correlati