20.11 imgfile -- Supporto per file di tipo imglib SGI

Disponibilità: IRIX.

Il modulo imgfile permette ai programmi Python di accedere a file immagine con il formato SGI imglib (conosciuti anche come file .rgb). Il modulo è tutt'altro che completo, ma è distribuito egualmente poiché contiene sufficienti funzionalità da essere utile in qualche caso. Al momento i file di tipo mappa di colori (colormap) non vengono supportati.

Questo modulo definisce le seguenti variabili e funzioni:

exception error
Questa eccezione viene sollevata su tutti gli errori, come nel caso di tipi di file non supportati, etc. etc....

getsizes( file)
Questa funzione restituisce una tupla (x, y, z) dove x ed y corrispondono alla dimensione dell'immagine in pixel e z è il numero di byte per pixel. Al momento vengono supportate solo le immagini RGB con 3 byte per pixel e quelle in scala di grigi con 1 byte per pixel.

read( file)
Questa funzione legge e decodifica l'immagine nel file specificato e la restituisce come una stringa Python. La stringa è formata o da un byte per pixel (scale di grigi) o da 4 byte per pixel (formato RGBA). Il pixel in basso a sinistra è il primo della stringa. Questo formato è adatto ad essere passato, per esempio, al metodo gl.lrectwrite() per istanza.

readscaled( file, x, y, filter[, blur])
Questa funzione è identica a read() ma restituisce un'immagine che viene ridimensionata nel modo specificato dagli argomenti x ed y. Se gli argomenti filter (NdT:filtro) e blur (NdT:sfumatura) vengono omessi, il ridimensionamento viene effettuato semplicemente scartando o duplicando i pixel dell'immagine, per cui il risultato potrà non essere di buona qualità, soprattutto per immagini generate dal computer.

In alternativa, si può specificare un filtro da usare per rendere l'immagine più omogenea dopo che è stata ridimensionata. I tipi di filtro supportati sono 'impulse' (NdT: impulso), 'box' (NdT: scatola), 'triangle' (NdT: triangolo), 'quadratic' (NdT: quadratico) e 'gaussian' (NdT: gaussiano). Se l'argomento filter viene specificato, allora l'argomento blur, facoltativo, indica il livello di sfumatura che il filtro deve applicare. Il valore predefinito è 1.0.

La funzione readscaled() non fa alcun tentativo di mantenere il corretto rapporto X/Y dell'originale, per cui questo è di responsabilità dell'utilizzatore della funzione.

ttob( flag)
Questa funzione imposta un'opzione globale che stabilisce se le righe di scansione dell'immagine vengono lette o scritte dal basso in alto (quando l'opzione vale zero; questo è compatibile con la libreria GL della SGI) o dall'alto in basso (quando l'opzione vale uno; questo è compatibile con X). Il valore predefinito è zero.

write( file, data, x, y, z)
Questa funzione scrive i pixel in RGB o scala di grigi contenuti nell'argomento data nel file immagine di nome file. Gli argomenti x ed y definiscono la dimensione dell'immagine, mentre l'argomento z vale 1 per immagini a scale di grigi e 3 per immagini RGB (che vengono scritte con 4 byte per pixel, di cui vengono usati solo i tre byte meno significativi). Questi sono i formati restituiti da gl.lrectread().
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.