# data[].attributes.body
questo formato nasce perchè  il formato GIF a seguito del brevetto dell'algoritmo di compressione che utilizza non può più essere usato gratuitamente da chi scrive softwere  mentre questo formato riesce a gestire immagini da 1 a 48 bit ed utilizza una compressione losless e possiede delle caratteristiche tipiche delle immagini GIF come la trasparenza e l'interlacciamento.
In principio questo formato era limitato perchè solo pochi sfotwere erano in grado di scrivere e leggere queste immagini ma col tempo hanno accettato il formato PNG ed ha trovato più utilizzo.

# data[].attributes.body
è un formato standard di memorizzazione di file grafici di tipo bitmap a scala di colore.
Probabilmente è il formato più usato al mondo,poichè è dominante su internet e nelle librerie shareware;utilizza una compressione losless.
il formato GIF offre  le seguenti possibilità utili nella realizzazione di pagne web:
- un qualsiasi colore può essere considerato trasparente in modo che sia visibile solo lo sfondo
- l'immagine è memorizzata con una struttura che consente la visualizzazione durante il caricamento in Rete ed il dettaglio aumenta mano mano che viene caricato su di esso (GIF interfacciate)
- è possibile inserire in un unico file diverse immagini, in modo da realizzare animazioni di cui si può specificare la temporizzazione (GIF animate)

# data[].attributes.body
è il più flessibile ed affidabile metodo per la memorizzazione di immagini bitmap di qualità in bianco e nero,a scala di grigio o a scala di colore.
nel caso in cui venga compresso viene utilizzato il formato losless.
Oltre ai dati dei pixel può contenere qualsiasi metainformazione in specifiche locazioni di memoria denominate tag ed era stato inizialmente creato per divenire un formato raster standard.

# data[].attributes.body
è il formato bitmap di Windows e supporta le immagini fino a 24 bit.
Viene usato ad esempio con Paint e queste immagini possono essere usate come sfondo per il desktop.
La particolarità di questo formato è la velocità in cui vengono lette/scritte su disco e la compressione è opzionale ma generalmente è impostata  secondo l'algoritmo di tipo losless.

# data[].attributes.headline
i valori di pixel(determinare che tipo di metodo usare per il colore)

# data[].attributes.subject
i valori di pixel(determinare che tipo di metodo usare per il colore)

# data[].attributes.body
la memorizzazione di un'immagine bitmap comporta la scrittura di due tipi di informazioni:

# data[].attributes.body
per vedere la rappresentazione finale si ricorre alle immagini bidimensionali (texture) (questa operazione di aggiungere la texture ad un poligono si chiama texturing/texture mapping) ed infine si aggiungono le ombreggiature

# data[].attributes.body
consente nel vedere solo le linee che compongono l'immagine ed è molto utilizzato per poter trattare più agevolmente le linee che compongono l'immagine mentre l'interno dell'immagine rimane trasparente

# data[].attributes.body
è un'immagine vista come un raggruppamento di oggetti grafici ognuno dei quali viene tradotto in formule matematiche che contengono tutte le istruzioni necessarie per poterlo tracciare.
Ogni singolo oggetto componente l'immagine è indipendente e può essere spostato modificato o eliminato senza influire con gli altri oggetti.
Ogni oggetto viene rappresentato su un dispositivo raster ed occorre trasformarla in pixel e questa operazione viene chiamata rasterizzazione mentre il contrario viene chiamato vettorializzazione.
ci sono 2 modalità per visualizzare una immagine vettoriale:

# data[].attributes.body
l'immagine è una griglia rettangolare di pixel colorati e nella memoria vengono conservati i singoli pixel e questo tipo di grafica si presenta bene su video e sono dipendenti dalla risoluzione che deve essere specificata e questa grafica non è vantaggiosa quando bisogna effettuare uno zoom perchè la risoluzione diventa bassa e peggiora la qualità.

# data[].attributes.body
esistono due tipi di grafiche:

# data[].attributes.body
è una tecnica applicata per i tipi di dati nei quali sono presenti sottostringhe comuni e la compressione si ottiene semplicemente compilando un dizionario di sottostringhe ed ognuna delle quali verrà sostituita da una sequenza univoca più corta di quella inserita nel dizionario

# data[].attributes.body
Attraverso l'informazione digitale anche le immagini ed i suoni sono trasformati in numeri

# data[].attributes.body
utilizzata nei filmati

# data[].attributes.body
usata soprattutto per le immagini statiche ed esso elimina i dati all'interno del fotogramma (un esempio è quando ci sono tre o più pixel adiacenti con la stessa tonalità di un colore e si possono sostituire dicendo quante volte viene ripetuto quel colore invece di scrivere tante volte lo stesso)

# data[].attributes.body
i programmi di compressione utilizzano due tecniche diverse:

# data[].attributes.body
è la combinazione degli altri e due modi di comprimere (lossy/lossless) la loro interazione consente di ottenere il maggior grado di compressione e lo standard per le foto è il JPEG

# data[].attributes.body
è un processo che non assicura l'integrità del contenuto quando viene compresso e decompresso non è assicurato che si ritornerà alla perfezione al file originale perchè scarta i particolari meno importanti ed è utile quando si vuole inviare una foto in cui non servono i dettagli,come di una pagina scritta o dove semplicemente non serve un'alta qualità

# data[].attributes.body
il file viene compresso assicurando l'integrità del contenuto quando viene compresso, alla decompressione si ritornerà alla perfezione al file originale (più comprime e più è migliore) e proprio per questo viene anche usato per le radiografie mediche

# data[].attributes.body
per ridurre lo spazio occupato nella memoria l'unica soluzione è comprimere l'immagine:evitare di ripetere i dati (ridondanze) e ci sono 3 modi di codec (compressione/ decompressione)

# data[].attributes.body
si usano i "colori pigmento"  ( Cyan, Magenta, Yellow, blacK) e la loro somma forma il nero

# data[].attributes.body
si usano colori primari (Red, Blue, Green) e la loro somma produce il bianco

# data[].attributes.body
ci sono diverse tecniche per rappresentare i colori che sono principalmente due

# data[].attributes.body
i vari pixel sono rappresentati da numeri (ad esempio con due bit avremo solo 0 ed 1 quindi potremmo avere un'immagine solo in bianco e nero;mentre usando un byte per ogni pixel possiamo codificare 256 colori diversi)

# data[].attributes.body
avvicinandoci molto ad una immagine digital posiamo notare tanti quadratini luminosi (pixel) e più pixel ci sono in un centimetro quadro in un pollice l'immagine risulterà meno nitida e continua