㈠ 存儲一張80X20像素(8位)的圖像所需的儲存容量是
256色,就是以你的顯示器只能顯示256種顏色的模式。即2^8(二的八次方)種顏色。 也就是通常所說的8位。而一個位元組=8bit 1KB=1024位元組 按照8位點陣圖計算存儲空間:即 50×20=10000個像素點×8bit 換算成位元組=10000×8/8=10000位元組=0.9765625KB≈1KB
㈡ 假如用點陣圖技術存儲一幅解析度為1024*1024的彩色圖片,需要多大的存儲空間
1024*768的rgb(24位)彩色點陣圖(bmp)圖像約佔用2350000
位元組(約2.25mb)左右。
雖然是1024*768的rgb(24位)彩色點陣圖,但因圖像色彩元素不同,所佔的圖像信息空間也有所不同。如黑色、白色等比例較多的色彩單一的圖像,比色彩復雜(各種顏色都有)的圖像所佔用的位元組要略少一些。
㈢ 簡述點陣圖圖像和矢量圖象在計算機中的存儲方式
點陣圖是以相素的形式,也就是點陣的形式,而矢量圖則是以演算法的形式存儲。
㈣ 點陣圖和矢量圖在存儲方式上有何不同點
一、顏色表不同
1、點陣圖:點陣圖圖片中選擇最有代表性的若干種顏色(通常不超過256種)編製成顏色表,然後將圖片中原有顏色用顏色表的索引來表示。這樣原圖片可以被大幅度有損壓縮。
2、矢量圖:通過數學公式計算獲得的,具有編輯後不失真的特點。例如一幅畫的矢量圖形實際上是由線段形成外框輪廓,由外框的顏色以及外框所封閉的顏色決定畫顯示出的顏色。
二、Alpha通道不同
1、點陣圖:在原有的圖片編碼方法基礎上,增加像素的透明度信息。圖形處理中,通常把RGB三種顏色信息稱為紅通道、綠通道和藍通道,相應的把透明度稱為Alpha通道。多數使用顏色表的點陣圖格式都支持Alpha通道。
2、矢量圖:圖像中保存的是線條和圖塊的信息,所以矢量圖形文件與解析度和圖像大小無關,只與圖像的復雜程度有關,圖像文件所佔的存儲空間較小。
三、存儲格式不同
1、點陣圖:採用位映射存儲格式,除了圖像深度可選以外,不採用其他任何壓縮,因此,BblP文件所佔用的空間很大。
2、矢量圖:圖像可以無級縮放,對圖形進行縮放,旋轉或變形操作時,圖形不會產生鋸齒效果。可以在任何輸出設備列印機上以列印或印刷的最高解析度進行列印輸出。
㈤ 存儲一個400x600的點陣圖,如果記錄16色,所需存儲空間大約是
這幅圖有400x600個像素,16位指每個像素用16個二進制數表示,也就是一幅圖需要400x600x16位(bit),而一個位元組(Bite)包含8位,那麼這幅圖需要400x600x16/8位元組等於480000B=480KB,答案選B
㈥ 存儲一幅解析度為800*600像素的256色彩色點陣圖圖象,需用多少位元組的存儲空間大約是多少KB
256是2的8次方,所以一共是 800x600x8=3840000bit
8bit = 1byte :480000byte
1kb= 1024byte :468.75kb
再乘3就是彩色。
以上是RGB模式,完整不壓縮bitmap格式。
(6)一張點陣圖的存儲擴展閱讀:
通常情況下,圖像的解析度越高,所包含的像素就越多,圖像就越清晰,印刷的質量也就越好。同時,它也會增加文件佔用的存儲空間。
通常,「解析度」被表示成每一個方向上的像素數量,比如640X480等。某些情況下也可以同時表示成「每英寸像素」(ppi)以及圖形的長度和寬度。比如72ppi,和8X6英寸。ppi和dpi經常都會出現混用現象。從技術角度說,「像素」(P)只存在於計算機顯示領域,而「點」(d)只出現於列印或印刷領域。
㈦ 請教關於點陣圖數據存儲結構
正常情況下數據塊大小應該是480000位元組,不知道PS為什麼這樣做,多寫了2個位元組0。其實這兩個位元組去掉並不影響圖像的顯示。
不要用這個來研究點陣圖結構,這是一個特殊情況。如果你用畫圖保存一個400*400的24位點陣圖,就是480000位元組。
其實數據區中可以多出任意位元組的數據,但點陣圖顯示時只取前面寬*高的有效位元組數,你可以實際試一下。 有的時候可以用這個原理在圖像文件中隱藏一些其他數據。
㈧ 點陣圖索引的存儲原理
點陣圖索引對數據表的列的每一個鍵值分別存儲為一個點陣圖,Oracle對於不同的版本,不同的操作方式,數據生成均有差別.
對於8i,9i,
下面分3種方式來討論數據的插入:
a.一次插入一行,插入多行後,一次提交;
b.每插入一行,提交一次;
c.批量插入方式,一次提交;
對於第一種方式,觀察點陣圖索引的變化情況.
a.假設插入8行相同鍵值的數據,如果以每行方式插入,然後一次提交,則會生成8個點陣圖
SQL> Insert Into H病人掛號記錄(Id,No,號別,執行人) Values(1,'G000001',1,'張1');
1 row inserted
SQL> /
1 row inserted
SQL> /
1 row inserted
SQL> /
1 row inserted
SQL> /
1 row inserted
SQL> /
1 row inserted
SQL> /
1 row inserted
SQL> /
1 row inserted
SQL> commit;
Commit complete
SQL> alter system mp datafile 1 block 40028;
System altered
row#0[7847] flag: -----, lock: 0
col 0; len 3; (3): d5 c5 31 --鍵值'張1'
col 1; len 6; (6): 00 40 9c 54 00 00 --rowid的起始位置
col 2; len 6; (6): 00 40 9c 54 00 07 --rowid的終止位置
col 3; len 2; (2): c8 ff --點陣圖編碼
row#1[7802] flag: -----, lock: 0
col 0; len 3; (3): d5 c5 31
col 1; len 6; (6): 00 40 9c 54 00 08
col 2; len 6; (6): 00 40 9c 54 00 0f
col 3; len 2; (2): c8 03
row#2[7780] flag: -----, lock: 0
col 0; len 3; (3): d5 c5 32
col 1; len 6; (6): 00 40 9c 54 00 08
col 2; len 6; (6): 00 40 9c 54 00 0f
col 3; len 1; (1): 02
row#3[7758] flag: -----, lock: 0
col 0; len 3; (3): d5 c5 33
col 1; len 6; (6): 00 40 9c 54 00 08
col 2; len 6; (6): 00 40 9c 54 00 0f
col 3; len 1; (1): 03
row#4[7736] flag: -----, lock: 2
col 0; len 3; (3): d5 c5 34
col 1; len 6; (6): 00 40 9c 54 00 08
col 2; len 6; (6): 00 40 9c 54 00 0f
col 3; len 1; (1): 04
row#5[7714] flag: -----, lock: 2
col 0; len 3; (3): d5 c5 35
col 1; len 6; (6): 00 40 9c 54 00 08
col 2; len 6; (6): 00 40 9c 54 00 0f
col 3; len 1; (1): 05
----- end of leaf block mp -----
但是,下次再插入一行相同鍵值的數據時,會自動合並這8行點陣圖為一行點陣圖,並生成一個新的索引點陣圖行存放剛插入行的索引:
SQL> Insert Into H病人掛號記錄(Id,No,號別,執行人) Values(1,'G000001',1,'張1');
1 row inserted
SQL> commit;
Commit complete
SQL> alter system mp datafile 1 block 40028;
System altered
row#0[7847] flag: -----, lock: 2
col 0; len 3; (3): d5 c5 31
col 1; len 6; (6): 00 40 9c 54 00 00
col 2; len 6; (6): 00 40 9c 54 00 07
col 3; len 2; (2): c8 ff
row#1[7825] flag: -----, lock: 2
col 0; len 3; (3): d5 c5 31
col 1; len 6; (6): 00 40 9c 54 00 08
col 2; len 6; (6): 00 40 9c 54 00 0f
col 3; len 1; (1): 00
----- end of leaf block mp -----
b.數據每行提交方式,與上面的情況相似,但有一點不一樣,每提交一行,拷貝原來的點陣圖,生成新的點陣圖,並標記原來的點陣圖為已刪除,
標記為已刪除的點陣圖,只有索引塊需要分配新的點陣圖時,才會清除標記為已刪除的點陣圖,重用這些空間.
在8i,9i上實驗的結果,與ITPUB的<Oracle 資料庫性能優化>一書378頁一致.
如果1000條相同鍵值的數據插入,將生成125個包括8條記錄的點陣圖行.
c.第三種方式,批量插入數據,insert into H病人掛號記錄(Id,No,號別,執行人) select ***方式,
同一鍵值,只生成一次點陣圖,只有一個點陣圖.
SQL> Insert Into H病人掛號記錄(Id,No,號別,執行人)
Select 1,'G000001',1,'張1' From al
Union All
Select 2,'G000002',1,'張1' From al
Union All
Select 3,'G000003',1,'張1' From al
Union All
Select 4,'G000004',1,'張1' From al
Union All
Select 5,'G000005',1,'張1' From al
Union All
Select 6,'G000006',1,'張1' From al
Union All
Select 7,'G000006',1,'張1' From al
Union All
Select 8,'G000006',1,'張1' From al
Union All
Select 9,'G000006',1,'張1' From al;
SQL> commit;
Commit complete
SQL> alter system mp datafile 1 block 40028;
System altered
row#0[8006] flag: -----, lock: 2
col 0; len 3; (3): d5 c5 31
col 1; len 6; (6): 00 40 9c 54 00 00
col 2; len 6; (6): 00 40 9c 54 00 0f
col 3; len 3; (3): c9 ff 01
row#1[8030] flag: ---D-, lock: 2
col 0; NULL
col 1; NULL
col 2; NULL
col 3; NULL
----- end of leaf block mp -----
所以,點陣圖索引最好採用批量插入方式,這樣,每個鍵值只生成一個點陣圖.而單行數據插入方式,每個鍵值將每8行數據生成一個點陣圖.
10G的情況,則簡單得多.
上面3種方式,相同鍵值的插入,點陣圖的生成是一樣的,只有一個點陣圖,並且,每次提交時,並不會刪除以前的點陣圖,而是直接修改對應鍵值的點陣圖.
每次插入一行數據,插入9行後提交
row#0[7763] flag: ------, lock: 2, len=29
col 0; len 3; (3): d5 c5 31
col 1; len 6; (6): 00 00 00 00 00 00
col 2; len 6; (6): 00 40 ef f2 00 0f
col 3; len 8; (8): f9 e4 d5 dc bc 01 ff 01
----- end of leaf block mp -----
再批量插入9行數據並提交
row#0[7733] flag: ------, lock: 2, len=30
col 0; len 3; (3): d5 c5 31
col 1; len 6; (6): 00 00 00 00 00 00
col 2; len 6; (6): 00 40 ef f2 00 17
col 3; len 9; (9): fa e4 d5 dc bc 01 ff ff 03
----- end of leaf block mp -----
可以看出,10G對點陣圖索引的存儲進行了優化,一個鍵值在索引塊中只有一個點陣圖
注意,其中有些結論並不是完全正確的,可以自己實驗證明,另外,該文涉及的實驗沒有標明Oracle版本,不同的版本,結果有差異.
㈨ 一幅1024X768像素的黑白點陣圖圖象理論上所須的存儲空間多大
要是DIB點陣圖的話
DIB頭佔40位元組
DIB調色板4個位元組
DIB圖像數據
行是1024像素佔用128位元組,但是點陣圖存儲中每一行必須是4的整倍數位元組長度,128正好是4的32倍,因此該DIB圖像數據佔128*768=98304位元組
總DIB點陣圖的總長度是98304+40+4=98348位元組
如果要存成BMP圖片的話,還要加上BMP文件頭的長度14個位元組
98348+14=98362位元組
㈩ 一幅解析度800*600像素的黑白點陣圖所需存儲空間為多少(
這個,要知道點陣圖的單個像素佔用的字位,才能求出所佔存儲空間。
點陣圖一般有8位、16位、32位點陣圖,點陣圖的後綴名一般為.bmp。點陣圖是一種沒有經過壓縮的圖片,而像JPG、GIF等等都是經過壓縮的。點陣圖是Microsoft公司制定的,能夠運行於許多不同的操作系統。
按照你的題目,因為為黑白點陣圖,則點陣圖像素有顏色深度為
1
位二進制,即只有兩種顏色——黑(1)白(0),綜合題意有:內存
=
800
*
600
*
1
比特,轉換為
KB
,則為
內存
=
800
*
600
/
1024
=
467.38KB。