Grafica Vettoriale e Grafica BitMap o Raster Matjaž Hmeljak.

22
Grafica Vettoriale e Grafica BitMap o Raster Matjaž Hmeljak

Transcript of Grafica Vettoriale e Grafica BitMap o Raster Matjaž Hmeljak.

Page 1: Grafica Vettoriale e Grafica BitMap o Raster Matjaž Hmeljak.

Grafica Vettorialee

Grafica BitMap o Raster

Matjaž Hmeljak

Page 2: Grafica Vettoriale e Grafica BitMap o Raster Matjaž Hmeljak.

Grafica vettoriale:

si conserva sul "display file" l'informazione di tutti i comandi usati per generare un' immagine, cioe' la sequenza delle primitive (disegna un segmento di linea, disegna un poligono ecc) con i parametri opportuni e con le trasformazioni geometriche opportune; l'immagine viene riprodotta rieseguendo la sequenza dei comandi.

L'immagine ottenuta dal "display file" puo' essere ingrandita a piacere, modificata, utilizzata come parte di un ' immagine piu' grande...

Page 3: Grafica Vettoriale e Grafica BitMap o Raster Matjaž Hmeljak.

grafica vettoriale:

il file grafico conserva la sequenza dei comandi grafici con i parametri opportuni e con le trasformazioni geometriche opportune; l'immagine viene riprodotta rieseguendo la sequenza dei comandi. E' il file grafico piu' antico, usato per memorizzare disegni tecnici: negli anni 60 un programma memorizzava i comandi su un nastro magnetico che poi veniva montato su un sistema di disegno con plotter e calcolatore che leggeva il file grafico e lo interpretava (lo eseguiva) traducendo i comandi delle primitive in sequenze di comandi "linguaggio macchina" del plotter (questo programma oggi si direbbe il driver del plotter)oppure su dispositivi grafici piu' veloci (schermo vettoriale) o addiritura su una stampante (pixel 130 x 80 = una pagina di stampa)

Page 4: Grafica Vettoriale e Grafica BitMap o Raster Matjaž Hmeljak.

grafica vettoriale: il file postscript e' un disegno vettoriale, dove sono riportati in "esteso" i comandi per tracciare linee, poligoni, caratteri disegnati con primitive geometriche ecc; un frammento di file postscript :

%!PS-Adobe-3.0 EPSF-3.0 %%For: aldo %%Title: PGPLOT PostScript plot %%Creator: PGPLOT %%CreationDate: 6-Feb-2007 23:20 %%BoundingBox: (atend) ...%%LanguageLevel: 1 %%Orientation: Landscape ... %%EndComments %%BeginProlog/L {moveto rlineto currentpoint stroke moveto} bind def /C {rlineto currentpoint stroke moveto} bind def.../EP {rlineto closepath eofill} bind def .../MB {gsave translate MFAC dup scale 1 setlinewidth 2 setlinecap 0 setlinejoin newpath} bind def .../FC {0 360 arc fill} bind def%%EndProlog %%Page: 1 1 %%BeginPageSetup/PGPLOT save def 0.072 0.072 scale 8149 250 translate 90 rotate1 setlinejoin 1 setlinecap 1 SLW 1 SCF%%EndPageSetup %%PageBoundingBox: (atend)... 0.000 0.000 0.000 setrgbcolor 1373 23 BP 7753 0 LP 0 7753 LP -7753 ... LP -26 108 LP -29 107 LP -32 106 LP -36 105 LP -40 103 LP -42 103 LP -46 101 LP -49 99 LP -51 98 LP -55 97 LP... 1.000 1.000 1.000 setrgbcolor 6884 4627 BP 0 8 LP 0 8 LP -1 8 LP -1 8 LP -1 8 LP -1 7 LP -2 8 LP -2 8 LP -2 8 LP -2 8 LP -3 7 LP -3 8 LP -3 7 LP -3 7 LP -3 8 LP -4 7 LP -4 7 LP -4 7 LP -5 6 LP -4 7 LP ... 0.000 0.000 0.000 setrgbcolor 1.000 1.000 1.000 setrgbcolor 5083 5259 BP -2 1 LP 0 0 LP -23 14 LP 0 0 LP -10 6 LP -1 2 LP 8 1 EP... PGPLOT restore showpage%%PageTrailer %%PageBoundingBox: 24 114 588 678 %%Trailer %%BoundingBox: 24 114 588 678 %%DocumentFonts: %%Pages: 1%%EOF

Page 5: Grafica Vettoriale e Grafica BitMap o Raster Matjaž Hmeljak.

grafica vettoriale: il file postscript e'un disegno vettoriale, dove sono riportati in "esteso" i comandi per tracciare linee, poligoni, caratteri disegnati con primitive geometriche ecc;

il file postscript del disegno che segue occupa 16 Mb di spazio

la stessa informazione (file vettoriale) puo' essere memorizzata in formato piu' compatto:

il file vettoriale in formato pdf occupa 2,8Mb

ma ... vedremo alcuni ma ...

Page 6: Grafica Vettoriale e Grafica BitMap o Raster Matjaž Hmeljak.

la stessa immagine in file pdf occupa 2,8Mbnon e' un testo ASCII:

%PDF-1.3 [[2978000bytes]]%ƒÂÚÂÎßÛ†–ƒ∆ 2 0 obj<< /Length 4 0 R /Filter /FlateDecode >> streamx⁄ÏΩÀ≤$ÀÆ6«WƒXfjff‰s¨Å∆˙Ø&˚»˚ˇfº<∫Ît=rôD^i˚‰Æïï8‡^‡øóˇ´¸˜Ú_˛èˇòÀ �˝è ... ùÌøó �⁄’ˆÔyoœ≤Ø◊ØΩ=`øz.ø¶eµ´”—V@⁄’c˝5Okªv...ÅT“hd°ëîª6Çÿ¬Ï±ñ:>f§fl&üm◊Áä‰Ìx›A4éÖ∂ ... |ŸNöŸÆÕØ6◊rmù^ô‹ÆÕöU·HW¸†´√ˇ5;ø?ˇÕ∞hendstream endobj9 0 obj 706 endobj5 0 obj [ /ICCBased 8 0 R ] endobj6 0 obj<< /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 1 0 R ] >>endobj10 0 obj << /Type /Catalog /Pages 6 0 R >> endobj11 0 obj<< /CreationDate (D:20070211201345+01'00') /ModDate (D:20070211201345+01'00')/Producer (Mac OS X 10.4.8 Quartz PDFContext) >> endobjxref 0 120000000000 00000 n 0002976748 00000 n ...0002977937 00000 n 0002977987 00000 n trailer<< /Size 12 /Root 10 0 R /Info 11 0 R /ID [ <779832d0b77bc297fdeb607c9b9d6779><779832d0b77bc297fdeb607c9b9d6779> ] >>startxref 2978130 %%EOF

Page 7: Grafica Vettoriale e Grafica BitMap o Raster Matjaž Hmeljak.

grafica bitmap:

il programma disegna su una "tela" e il risultato e' un reticolo di pixel modificato;

il reticolo di pixel viene fissato fin dall'inizio (in genere non legato allo schermo), e rimane sempre lo stesso: ingrandendo l'immagine la qualita' dell'immagine degrada...

l'immagine di seguito visualizzata e' un file jpg (compresso),che occupa 640kB

vediamo un esempio di confronto di ingrandimento di un'immagine data originalmente in versione vettoriale (file postscript o file pdf)oppure trasformata (con un programma di conversione formato) in versione bit-map (jpeg)

Page 8: Grafica Vettoriale e Grafica BitMap o Raster Matjaž Hmeljak.

vettoriale vs bitmap

Immagine di partenza (immagine costruita da A. Spizzichino di Bologna, con una libreria grafica Fortran (personale) su Unix; l'immagine e' data in postscript,e resa con Adobe...

Page 9: Grafica Vettoriale e Grafica BitMap o Raster Matjaž Hmeljak.

vettoriale vs bitmap - immagine di partenza

(qui la resa e' fatta con il Graphic Converter) ...

segue una sequenza di ingrandimenti successivi, eseguiti sempre sulla stessa sorgente

droplets.pdf

Page 10: Grafica Vettoriale e Grafica BitMap o Raster Matjaž Hmeljak.

vettoriale vs bitmap - 1.o ingrandimento

Page 11: Grafica Vettoriale e Grafica BitMap o Raster Matjaž Hmeljak.

vettoriale vs bitmap - 2.o ingrandimento

Page 12: Grafica Vettoriale e Grafica BitMap o Raster Matjaž Hmeljak.

vettoriale vs bitmap - 3.o ingrandimento

Page 13: Grafica Vettoriale e Grafica BitMap o Raster Matjaž Hmeljak.

vettoriale vs bitmap - 4.o ingrandimento

Page 14: Grafica Vettoriale e Grafica BitMap o Raster Matjaž Hmeljak.

vettoriale vs bitmap - ingrandimenti da 1 a 4 a confronto: (nota gli spazi bianchi da err di approssimazione nella resa ps)

Page 15: Grafica Vettoriale e Grafica BitMap o Raster Matjaž Hmeljak.

vettoriale vs bitmap: vediamo gli ingrandimenti da versione bit-map (immagine di partenza uguale -

e' l'immagine droplets.ps trasformata in

droplets.jpg,

per schermo 1280x854

Page 16: Grafica Vettoriale e Grafica BitMap o Raster Matjaž Hmeljak.

vettoriale vs bitmap - 1.o ingrandimento

Page 17: Grafica Vettoriale e Grafica BitMap o Raster Matjaž Hmeljak.

vettoriale vs bitmap - 2.o ingrandimento: i pixel ora si vedono

Page 18: Grafica Vettoriale e Grafica BitMap o Raster Matjaž Hmeljak.

vettoriale vs bitmap - 3.o ingrandimentoi pixel originali sono dei rettangoli!

Page 19: Grafica Vettoriale e Grafica BitMap o Raster Matjaž Hmeljak.

vettoriale vs bitmap 4.o ingrandimento i pixel sono "quadratoni"

Page 20: Grafica Vettoriale e Grafica BitMap o Raster Matjaž Hmeljak.

vettoriale vs bitmap: riassumendo qui e' riportato in sequenza a destra lo stesso dettaglio (il 2.o rettangolo dal centro) :

Page 21: Grafica Vettoriale e Grafica BitMap o Raster Matjaž Hmeljak.

concludendo, vettoriale (a sinistra) vs bitmap (a destra) : il file vettoriale contiene le istruzioni per fare l'immagine, e quindi consente una riproduzione esatta con qualunque scala

Page 22: Grafica Vettoriale e Grafica BitMap o Raster Matjaž Hmeljak.

vettoriale: qui lo schermo dato da Acrobat Reader, le schermate precedenti erano date da un altro programma (Graphic Converter - problemi di spazi bianchi tra una primitiva e l'altra)