導航:首頁 > 圖片大全 > 舉例說明圖片是如何組成的

舉例說明圖片是如何組成的

發布時間:2022-09-14 14:25:38

『壹』 請問:qq中傳播的動態圖片是用什麼軟體製作出來的,舉例說明。

那個動態圖片格式叫做 GIF 格式.很多軟體都可以製作.如photoshop,flash,動態精靈等等.

『貳』 設計說明及圖片是怎樣的

文檔每頁不少於30行 指的是文檔中文字的行數
(如有圖片則不需要),指的是如果該頁文檔中有圖片的話 就不需要滿足文字有30行

舉例說明:
有的圖比較大 有的文檔某頁有隻有一張圖 但是是符合要求的

按照通常的文檔標准就差不多 不要把文中或圖片調整的特別大或者特別小 也不要一頁文檔只有半頁紙 這個說明主要是想體現的是這個意思

『叄』 怎樣的圖形才能一筆成畫

瑞士數學家歐拉在1736年發表的論文《柯尼斯堡的七橋》中解決了一筆畫問題,其規律是:

1、由偶點(偶點就是由一點出發延伸出的線條數為偶數)組成的連通圖,一定可以一筆畫成。畫時可以把任一偶點為起點,最後一定能以這個點為終點畫完此圖。

2、只有兩個奇點(奇點就是由一點出發延伸出的線條數為奇數)的連通圖(其餘都為偶點),一定可以一筆畫成。畫時必須把一個奇點為起點,另一個奇點終點。

下面我們舉例說明

如下圖,沒有奇點,畫時可以把任一偶點為起點,最後一定能以這個點為終點畫完此圖。

『肆』 誰能通俗的解釋一下PS裡面的圖層是什麼意思

圖層就像是含有文字或圖形等元素的膠片,一張張按順序疊放在一起,組合起來形成頁面的最終效果。圖層可以將頁面上的元素精確定位。

圖層中可以加入文本、圖片、表格、插件,也可以在裡面再嵌套圖層。

每一個圖層都是由許多像素組成的,而圖層又通過上下疊加的方式來組成整個圖像。

舉個例子說明:比如我們在紙上畫一個人臉,先畫臉龐,再畫眼睛和鼻子,然後是嘴巴。畫完以後發現眼睛的位置歪了一些。那麼只能把眼睛擦除掉重新畫過,並且還要對臉龐作一些相應的修補。這當然很不方便。

(4)舉例說明圖片是如何組成的擴展閱讀:

圖層組成:

每一個圖層都是由許多像素組成的,而圖層又通過上下疊加的方式來組成整個圖像。打個比喻,每一個圖層就好似是一個透明的「玻璃」,而圖層內容就畫在這些「玻璃」上,如果「玻璃」什麼都沒有,這就是個完全透明的空圖層,當各「玻璃」都有圖像時,自上而下俯視所有圖層,從而形成圖像顯示效果。

那麼想像一下,如果我們不是直接畫在紙上,而是先在紙上鋪一層透明的塑料薄膜,把臉龐畫在這張透明薄膜上。畫完後再鋪一層薄膜畫上眼睛。再鋪一張畫鼻子。如下圖,將臉龐、鼻子、眼睛分為三個透明薄膜層,最後組成的效果。這樣完成之後的成品,和先前那幅在視覺效果上是一致的。

雖然視覺效果一致,但分層繪制的作品具有很強的可修改性,如果覺得眼睛的位置不對,可以單獨移動眼睛所在的那層薄膜以達到修改的效果。甚至可以把這張薄膜丟棄重新再畫眼睛。而其餘的臉龐鼻子等部分不受影響,因為他們被畫在不同層的薄膜上。

『伍』 如何寫攝影圖片分析,是否能舉例說明

看到一幅作品的第一眼時,注意體會一下你的注意力落到畫面的那個角落。這需要一些訓練。非常值得訓練訓練。同時問自己幾個問題:
1.吸引我的第一注意力的,是不是照片的主體?
2. 吸引我眼神的是什麼?
3.我的眼睛下一步要看什麼?為什麼?
4.主體聚焦和曝光正確嗎?如果不是,有沒有理由要虛焦,在這幅照片里這樣做是否有必要?
5. 背景聚焦清楚嗎?曝光正確嗎?如果沒有,對這幅作品時有利還是不利?
6. 主體和背景的顏色看上去自然嗎?如果不自然,對照片有利還是不利?
7. 照片看上去很平還是有些(景)深度?真實嗎?不真實的話,對照片有利還是不利?
8. 主體在照片中的位置是不是特別吸引人,或者這樣構圖分散了你的注意力?總的來說,這樣構圖對照片有什麼樣的影響?
9. 圖片所要表達的或是要沖擊的表現出來了嗎?
10. 照片剪裁的寬些或者緊些有沒有幫助?拍攝角度不同會不會有幫助?
11.你的評論能否給原作者一些特別的反饋,幫助他提高作品質量?

重要的是要注意評論的策略,不要冒犯作者。原因非常簡單:你是在對別人的時間,花費的精力和努力以及所要表達的內容作評論。因此,作評論的法則是:不要因為發泄自己的情緒而淡化了你的意見和建議。你的意見和建議同樣是你自己的時間,精力和努力達成的。與攝影師所付出那部分沒有差別。如果攝影師是到這里來學習提高的,他不會把你的意見和建議當作是對他個人的攻擊,相反,他們會把你的意見和建議當作是經驗的學習,是用來提高自己新作水平的經驗。

『陸』 一般圖面是什麼組成

一般圖面就是由圖和面組成的。圖片就有許多無數的點點組成的點點。多了就成了圖和面。

『柒』 網頁里一張完整的圖片分成一塊一塊的,是怎麼弄成的

是將一張完整的圖片切成N小塊,然後拼在一塊
具體步驟:
下面舉例說明如何在Photoshop中切割圖片。
1. 打開一張圖片,選擇工具欄上的「切片工具」,樣式有三種選擇,為了便於圖片的管理,通常選擇「固定大小」。普通網頁寬度通常是760px,所以選擇五分之一寬度,也就是152px作為切割圖片的寬度。寬度和高度都可根據圖片大小隨意調整。
2. 選中「切片工具」後,在圖片上任意點擊一下左鍵,或者按住左鍵拖拽一個方形,就出現一個切片。
3. 如果變換切片的位置和大小,選擇工具欄上的「切片選擇工具」,再點擊某個切片即可選中。用左鍵按住某個已選中的切片,可以隨意挪動切片位置。用左鍵按住切片四周的小黑點,也可隨意伸展或收縮切片大小。如果在某個切片上單擊右鍵,彈出的菜單上可以選擇刪除切片或者編輯切片。
4. 以此類推,再次選擇「切片工具」在圖片上切出更多切片,並排列位置
5.如果需要,還可以把某個切片細分成更多小切片。方法是,選擇工具欄上的「切片選擇工具」,選中某個切片,單擊頂上的「劃分」按鈕,可任意選擇分割切片的方式,可以按切片個數劃分,也可以按精確像素劃分,不一而足。
6. 點擊頂部的「為當前切片設置選項」按鈕,設置切片類型、名稱、網路上定位的URL地址、目標(即載入URL時的楨,此項僅針對動畫圖片)、信息文本(即滑鼠指向網頁上的圖片時,出現在瀏覽器底部狀態欄的文字信息)、Alt標記(即滑鼠放置在網頁上的圖片上時,自動出現在圖片周圍的解釋文字)。設置這些選項後,將來生成的HTML頁面上,圖片就會被設置好鏈接。可對每個切片分別選中,分別設置這些選項。
7. 點擊菜單:文件–>存儲為Web所用格式。選擇「雙聯」,左側為圖片原稿,右側為將來在網頁上出現的圖像,可以用滑鼠選中右側任意一個切片,設置每個小切片圖片的類型等等,同時可以設置圖片品質用於壓縮圖片大小
8.點擊「存儲」按鈕,選擇保存文件類型為「HTML和圖像」
9.保存完成後,電腦上就會出現一個名叫index.html的文件和一個名叫images的圖片目錄,切分後的圖片就保存在這里。index.html就是用切分後的小圖片組成的網頁文件。
網頁圖片切小是為了讓人們打開網頁時更快,讀取小塊圖片是並列進行了,比讀取大圖片快

『捌』 怎樣把一張圖片分成是由多張圖片組成的

分割啊,網上有一個程序可以弄的,通常都用來做空間的相冊封面,求採納~!

『玖』 什麼是單通道圖像什麼是多通道圖像

樓上的回答真的不敢恭維。我們平時常見的圖片一般都是RGB圖片,即由紅色、綠色、藍色三個通道組成的圖片,在表達每個像素點時用三個值表示,每個值取0~255(只是在RGB格式下是這個范圍,其他的像HSV,YCrCb這種就不是了),你可以把這三個值理解為各種顏色的深度,比如(0,255,0)就是綠色,是最深的那種綠色,(0,200,0)就是相對淺一些的綠色了,其他通道也有值的話就是復合顏色,比如(255,255,255)就是白色,因為紅綠藍組合一起就是白色。這就是多通道圖片,單通道圖片是僅有一個值的圖片(但是不一定是灰度圖,比如HSV色彩空間下的圖片可以分解為H,S,V三個單通道,但是此時的任何一個通道都不能稱為灰度圖,他們分別表示了這個圖片的色調H,飽和度S和明度V),常見的就是灰度圖片,每個像素點只有一個值,可以把灰度圖片每個像素點的值理解為灰的程度,取值范圍是0~255,0是黑色,255是白色。單通道圖片是不能夠表達出色彩的,多通道圖片表達顏色的話不僅僅跟像素值有關,也跟圖片的位深等信息有關,圖像學的內容挺多的,有興趣可以多了解一下,挺好玩的

『拾』 圖片格式jpg、gif、jpeg、png,bmp分別是什麼意思,

JPG格式是最常用的圖像文件格式,由一個軟體開發聯合會組織制定,是一種有損壓縮格式,能夠將圖像壓縮在很小的儲存空間,圖像中重復或不重要的資料會被丟失,因此容易造成圖像數據的損傷。尤其是使用過高的壓縮比例,將使最終解壓縮後恢復的圖像質量明顯降低,

如果追求高品質圖像,不宜採用過高壓縮比例。

但是JPEG壓縮技術十分先進,它用有損壓縮方式去除冗餘的圖像數據,在獲得極高的壓縮率的同時能展現十分豐富生動的圖像,換句話說,就是可以用最少的磁碟空間得到較好的圖像品質。

而且JPEG是一種很靈活的格式,具有調節圖像質量的功能,允許用不同的壓縮比例對文件進行壓縮,支持多種壓縮級別,壓縮比率通常在10:1到40:1之間,壓縮比越大,品質就越低;相反地,壓縮比越小,品質就越好。比如可以把1.37Mb的BMP點陣圖文件壓縮至20.3KB。當然也可以在圖像質量和文件尺寸之間找到平衡點。

JPEG格式壓縮的主要是高頻信息,對色彩的信息保留較好,適合應用於互聯網,可減少圖像的傳輸時間,可以支持24bit真彩色,也普遍應用於需要連續色調的圖像。

GIF 是用於壓縮具有單調顏色和清晰細節的圖像(如線狀圖、徽標或帶文字的插圖)的標准格式。
GIF分為靜態GIF和動畫GIF兩種,支持透明背景圖像,適用於多種操作系統,「體型」很小,網上很多小動畫都是GIF格式。其實GIF是將多幅圖像保存為一個圖像文件,從而形成動畫,所以歸根到底GIF仍然是圖片文件格式。但GIF只能顯示256色。
GIF主要分為兩個版本,即GIF 89a和GIF 87a:
GIF 87a:是在1987年制定的版本
GIF 89a:是1989年制定的版本。在這個版本中,為GIF文檔擴充了圖形控制區塊、備注、說明、應用程序編程介面等四個區塊,並提供了對透明色和多幀動畫的支持
GIF格式自1987年由CompuServe公司引入後,因其體積小而成像相對清晰,特別適合於初期慢速的互聯網,而從此大受歡迎。它採用無損壓縮技術,只要圖像不多於256色,則可既減少文件的大小,又保持成像的質量。(當然,現在也存在一些hack技術,在一定的條件下克服256色的限制,具體參見真彩色)然而,256色的限制大大局限了GIF文件的應用范圍,如彩色相機等。(當然採用無損壓縮技術的彩色相機照片亦不適合通過網路傳輸。)另一方面,在高彩圖片上有著不俗表現的JPG格式卻在簡單的折線上效果差強人意。因此GIF格式普遍適用於圖表,按鈕等等只需少量顏色的圖像(如黑白照片)。

PNG是20世紀90年代中期開始開發的圖像文件存儲格式,其目的是企圖替代GIF和TIFF文件格式,同時增加一些GIF文件格式所不具備的特性。流式網路圖形格式(Portable Network Graphic Format,PNG)名稱來源於非官方的「PNG's Not GIF」,是一種點陣圖文件(bitmap file)存儲格式,讀成「ping」。PNG用來存儲灰度圖像時,灰度圖像的深度可多到16位,存儲彩色圖像時,彩色圖像的深度可多到48位,並且還可存儲多到16位的α通道數據。PNG使用從LZ77派生的無損數據壓縮演算法。
PNG圖片文件一般應用於JAVA程序中,或網頁或S60程序中是因為它壓縮比高,生成文件容量小。
使用彩色查找表或者叫做調色板可支持256種顏色的彩色圖像。
流式讀/寫性能(streamability):圖像文件格式允許連續讀出和寫入圖像數據,這個特性很適合於在通信過程中生成和顯示圖像。
逐次逼近顯示(progressive display):這種特性可使在通信鏈路上傳輸圖像文件的同時就在終端上顯示圖像,把整個輪廓顯示出來之後逐步顯示圖像的細節,也就是先用低解析度顯示圖像,然後逐步提高它的解析度。
透明性(transparency):這個性能可使圖像中某些部分不顯示出來,用來創建一些有特色的圖像。
輔助信息(ancillary information):這個特性可用來在圖像文件中存儲一些文本注釋信息。
獨立於計算機軟硬體環境。
使用無損壓縮。
PNG文件格式中要增加下列GIF文件格式所沒有的特性:
每個像素為48位的真彩色圖像。
每個像素為16位的灰度圖像。
可為灰度圖和真彩色圖添加α通道。
添加圖像的γ信息。
使用循環冗餘碼(cyclic rendancy code,CRC)檢測損害的文件。
加快圖像顯示的逐次逼近顯示方式。
標準的讀/寫工具包。
可在一個文件中存儲多幅圖像。

BMP是一種與硬體設備無關的圖像文件格式,使用非常廣。它採用位映射存儲格式,除了圖像深度可選以外,不採用其他任何壓縮,因此,BMP文件所佔用的空間很大。BMP文件的圖像深度可選lbit、4bit、8bit及24bit。BMP文件存儲數據時,圖像的掃描方式是按從左到右、從下到上的順序。
由於BMP文件格式是Windows環境中交換與圖有關的數據的一種標准,因此在Windows環境中運行的圖形圖像軟體都支持BMP圖像格式。
典型的BMP圖像文件由四部分組成:
1:點陣圖文件頭數據結構,它包含BMP圖像文件的類型、顯示內容等信息;
2:點陣圖信息數據結構,它包含有BMP圖像的寬、高、壓縮方法,以及定義顏色等信息;
3:調色板,這個部分是可選的,有些點陣圖需要調色板,有些點陣圖,比如真彩色圖(24位的BMP)就不需要調色板;
4:點陣圖數據,這部分的內容根據BMP點陣圖使用的位數不同而不同,在24點陣圖中直接使用RGB,而其他的小於24位的使用調色板中顏色索引值。
點陣圖的類型:
點陣圖一共有兩種類型,即:設備相關點陣圖(DDB)和設備無關點陣圖(DIB)。DDB點陣圖在早期的Windows系統(Windows 3.0以前)中是很普遍的,事實上它也是唯一的。然而,隨著顯示器製造技術的進步,以及顯示設備的多樣化,DDB點陣圖的一些固有的問題開始浮現出來了。比如,它不能夠存儲(或者說獲取)創建這張圖片的原始設備的解析度,這樣,應用程序就不能快速的判斷客戶機的顯示設備是否適合顯示這張圖片。為了解決這一難題,微軟創建了DIB點陣圖格式。
設備無關點陣圖 (Device-Independent Bitmap)
DIB點陣圖包含下列的顏色和尺寸信息:
* 原始設備(即創建圖片的設備)的顏色格式。
* 原始設備的解析度。
* 原始設備的調色板
* 一個位數組,由紅、綠、藍(RGB)三個值代表一個像素。
* 一個數組壓縮標志,用於表明數據的壓縮方案(如果需要的話)。
以上這些信息保存在BITMAPINFO結構中,該結構由BITMAPINFOHEADER結構和兩個或更多個RGBQUAD結構所組成。BITMAPINFOHEADER結構所包含的成員表明了圖像的尺寸、原始設備的顏色格式、以及數據壓縮方案等信息。RGBQUAD結構標識了像素所用到的顏色數據。
DIB點陣圖也有兩種形式,即:底到上型DIB(bottom-up),和頂到下型DIB(top-down)。底到上型DIB的原點(origin)在圖像的左下角,而頂到下型DIB的原點在圖像的左上角。如果DIB的高度值(由BITMAPINFOHEADER結構中的biHeight成員標識)是一個正值,那麼就表明這個DIB是一個底到上型DIB,如果高度值是一個負值,那麼它就是一個頂到下型DIB。注意:頂到下型的DIB點陣圖是不能被壓縮的。
點陣圖的顏色格式是通過顏色面板值(planes)和顏色位值(bitcount)計算得來的,顏色面板值永遠是1,而顏色位值則可以是1、4、8、16、24、32其中的一個。如果它是1,則表示點陣圖是一張單色點陣圖(譯者註:通常是黑白點陣圖,只有黑和白兩種顏色,當然它也可以是任意兩種指定的顏色),如果它是4,則表示這是一張VGA點陣圖,如果它是8、16、24、或是32,則表示該點陣圖是其他設備所產生的點陣圖。如果應用程序想獲取當前顯示設備(或列印機)的顏色位值(或稱位深度),可調用API函數GetDeviceCaps(),並將第二個參數設為BITSPIXEL即可。
顯示設備的解析度是以每米多少個像素來表明的,應用程序可以通過以下三個步驟來獲取顯示設備或列印機的水平解析度:
1. 調用GetDeviceCaps()函數,指定第二個參數為HORZRES。
2. 再次調用GetDeviceCaps()函數,指定第二個參數為HORZSIZE。
3. 用第一個返回值除以第二個返回值。即:DetDeviceCaps(hDC,HORZRES)/GetDeviceCaps(hDC,HORZSIZE);
應用程序也可以使用相同的三個步驟來獲取設備的垂直解析度,不同之處只是要將HORZRES替換為VERTRES,把HORZSIZE替換為VERTSIZE,即可。
調色板是被保存在一個RGBQUAD結構的數組中,該結構指出了每一種顏色的紅、綠、藍的分量值。位數組中的每一個索引都對應於一個調色板項(即一個RGBQUAD結構),應用程序將根據這種對應關系,將像素索引值轉換為像素RGB值(真實的像素顏色)。應用程序也可以通過調用GetDeviceCaps()函數來獲取當前顯示設備的調色板尺寸(將該函數的第二個參數設為NUMCOLORS即可)。
Win32 API支持位數據的壓縮(只對8位和4位的底到上型DIB點陣圖)。壓縮方法是採用運行長度編碼方案(RLE),RLE使用兩個位元組來描述一個句法,第一個位元組表示重復像素的個數,第二個位元組表示重復像素的索引值。有關壓縮點陣圖的詳細信息請參見對BITMAPINFOHEADER結構的解釋。
應用程序可以從一個DDB點陣圖創建出一個DIB點陣圖,步驟是,先初始化一些必要的結構,然後再調用GetDIBits()函數。不過,有些顯示設備有可能不支持這個函數,你可以通過調用GetDeviceCaps()函數來確定一下(GetDeviceCaps()函數在調用時指定RC_DI_BITMAP作為RASTERCAPS的標志)。
應用程序可以用DIB去設置顯示設備上的像素(譯者註:也就是顯示DIB),方法是調用SetDIBitsToDevice()函數或調用StretchDIBits()函數。同樣,有些顯示設備也有可能不支持以上這兩個函數,這時你可以指定RC_DIBTODEV作為RASTERCAPS標志,然後調用GetDeviceCaps()函數來判斷該設備是否支持SetDIBitsToDevice()函數。也可以指定RC_STRETCHDIB作為RASTERCAPS標志來調用GetDeviceCaps()函數,來判斷該設備是否支持StretchDIBits()函數。
如果應用程序只是要簡單的顯示一個已經存在的DIB點陣圖,那麼它只要調用SetDIBitsToDevice()函數就可以。比如一個電子表格軟體,它可以打開一個圖表文件,在窗口中簡單的調用SetDIBitsToDevice()函數,將圖形顯示在窗口中。但如果應用程序要重復的繪制點陣圖的話,則應該使用BitBlt()函數,因為BitBlt()函數的執行速度要比SetDIBitsToDevice()函數快很多。
設備相關點陣圖 (Device-Dependent Bitmaps)
設備相關點陣圖(DDB)之所以現在還被系統支持,只是為了兼容舊的Windows 3.0軟體,如果程序員現在要開發一個與點陣圖有關的程序,則應該盡量使用或生成DIB格式的點陣圖。
DDB點陣圖是被一個單個結構BITMAP所描述,這個結構的成員標明了該點陣圖的寬度、高度、設備的顏色格式等信息。
DDB點陣圖也有兩種類型,即:可廢棄的(discardable)DDB和不可廢棄的(nondiscardable)DDB。可廢棄的DDB點陣圖就是一種當系統內存缺乏,並且該點陣圖也沒有被選入設備描述表(DC)的時候,系統就會把該DDB點陣圖從內存中清除(即廢棄)。不可廢棄的DDB則是無論系統內存多少都不會被系統清除的DDB。API函數CreateDiscardableBitmap()函數可用於創建可廢棄點陣圖。而函數CreateBitmap()、CreateCompatibleBitmap()、和CreateBitmapIndirect()可用於創建不可廢棄的點陣圖。
應用程序可以通過一個DIB點陣圖而創建一個DDB點陣圖,只要先初始化一些必要的結構,然後再調用CreateDIBitmap()函數就可以。如果在調用該函數時指定了CBM_INIT標志,那麼這一次調用就等價於先調用CreateCompatibleBitmap()創建當前設備格式的DDB點陣圖,然後又調用SetDIBits()函數轉換DIB格式到DDB格式。(可能有些設備並不支持SetDIBits()函數,你可以指定RC_DI_BITMAP作為RASTERCAPS的標志,然後調用GetDeviceCaps()函數來判斷一下)。
對應的數據結構:
1:BMP文件組成
BMP文件由文件頭、點陣圖信息頭、顏色信息和圖形數據四部分組成。
2:BMP文件頭(14位元組)
BMP文件頭數據結構含有BMP文件的類型、文件大小和點陣圖起始位置等信息。
其結構定義如下:
typedef struct tagBITMAPFILEHEADER
{
WORDbf Type; // 點陣圖文件的類型,必須為BM(0-1位元組)
DWORD bfSize; // 點陣圖文件的大小,以位元組為單位(2-5位元組)
WORD bfReserved1; // 點陣圖文件保留字,必須為0(6-7位元組)
WORD bfReserved2; // 點陣圖文件保留字,必須為0(8-9位元組)
DWORD bfOffBits; // 點陣圖數據的起始位置,以相對於點陣圖(10-13位元組)
// 文件頭的偏移量表示,以位元組為單位
} BITMAPFILEHEADER;
3:點陣圖信息頭(40位元組)
BMP點陣圖信息頭數據用於說明點陣圖的尺寸等信息。
typedef struct tagBITMAPINFOHEADER{
DWORD biSize; // 本結構所佔用位元組數(14-17位元組)
LONG biWidth; // 點陣圖的寬度,以像素為單位(18-21位元組)
LONG biHeight; // 點陣圖的高度,以像素為單位(22-25位元組)
WORD biPlanes; // 目標設備的級別,必須為1(26-27位元組)
WORD biBitCount;// 每個像素所需的位數,必須是1(雙色),(28-29位元組)
// 4(16色),8(256色)或24(真彩色)之一
DWORD biCompression; // 點陣圖壓縮類型,必須是 0(不壓縮),(30-33位元組)
// 1(BI_RLE8壓縮類型)或2(BI_RLE4壓縮類型)之一
DWORD biSizeImage; // 點陣圖的大小,以位元組為單位(34-37位元組)
LONG biXPelsPerMeter; // 點陣圖水平解析度,每米像素數(38-41位元組)
LONG biYPelsPerMeter; // 點陣圖垂直解析度,每米像素數(42-45位元組)
DWORD biClrUsed;// 點陣圖實際使用的顏色表中的顏色數(46-49位元組)
DWORD biClrImportant;// 點陣圖顯示過程中重要的顏色數(50-53位元組)
} BITMAPINFOHEADER;
4:顏色表
顏色表用於說明點陣圖中的顏色,它有若干個表項,每一個表項是一個RGBQUAD類型的結構,定義一種顏色。RGBQUAD結構的定義如下:
typedef struct tagRGBQUAD {
BYTE rgbBlue;// 藍色的亮度(值范圍為0-255)
BYTE rgbGreen; // 綠色的亮度(值范圍為0-255)
BYTE rgbRed; // 紅色的亮度(值范圍為0-255)
BYTE rgbReserved;// 保留,必須為0
} RGBQUAD;
顏色表中RGBQUAD結構數據的個數有biBitCount來確定:
當biBitCount=1,4,8時,分別有2,16,256個表項;
當biBitCount=24時,沒有顏色表項。
點陣圖信息頭和顏色表組成點陣圖信息,BITMAPINFO結構定義如下:
typedef struct tagBITMAPINFO {
BITMAPINFOHEADER bmiHeader; // 點陣圖信息頭
RGBQUAD bmiColors[1]; // 顏色表
} BITMAPINFO;
5:點陣圖數據
點陣圖數據記錄了點陣圖的每一個像素值,記錄順序是在掃描行內是從左到右,掃描行之間是從下到上。點陣圖的一個像素值所佔的位元組數:
當biBitCount=1時,8個像素佔1個位元組;
當biBitCount=4時,2個像素佔1個位元組;
當biBitCount=8時,1個像素佔1個位元組;
當biBitCount=24時,1個像素佔3個位元組;
Windows規定一個掃描行所佔的位元組數必須是
4的倍數(即以long為單位),不足的以0填充,
biSizeImage = ((((bi.biWidth * bi.biBitCount) + 31) & ~31) / 8) * bi.biHeight;
具體數據舉例:
如某BMP文件開頭:
4D42 4690 0000 0000 0000 4600 0000 2800 0000 8000 0000 9000 0000 0100*1000 0300 0000 0090 0000 A00F 0000 A00F 0000 0000 0000 0000 0000*00F8 0000 E007 0000 1F00 0000 0000 0000*02F1 84F1 04F1 84F1 84F1 06F2 84F1 06F2 04F2 86F2 06F2 86F2 86F2 .... ....
BMP文件可分為四個部分:點陣圖文件頭、點陣圖信息頭、彩色板、圖像數據陣列,在上圖中已用*分隔。
一、圖像文件頭
1)1:(這里的數字代表的是"字",即兩個位元組,下同)圖像文件頭。0x4D42=』BM』,表示是Windows支持的BMP格式。
2)2-3:整個文件大小。4690 0000,為00009046h=36934。
3)4-5:保留,必須設置為0。
4)6-7:從文件開始到點陣圖數據之間的偏移量。4600 0000,為00000046h=70,上面的文件頭就是35字=70位元組。
二、點陣圖信息頭
5)8-9:點陣圖圖信息頭長度。
6)10-11:點陣圖寬度,以像素為單位。8000 0000,為00000080h=128。
7)12-13:點陣圖高度,以像素為單位。9000 0000,為00000090h=144。
8)14:點陣圖的位面數,該值總是1。0100,為0001h=1。
9)15:每個像素的位數。有1(單色),4(16色),8(256色),16(64K色,高彩色),24(16M色,真彩色),32(4096M色,增強型真彩色)。1000為0010h=16。
10)16-17:壓縮說明:有0(不壓縮),1(RLE 8,8位RLE壓縮),2(RLE 4,4位RLE壓縮,3(Bitfields,位域存放)。RLE簡單地說是採用像素數+像素值的方式進行壓縮。T408採用的是位域存放方式,用兩個位元組表示一個像素,位域分配為r5b6g5。圖中0300 0000為00000003h=3。
11)18-19:用位元組數表示的點陣圖數據的大小,該數必須是4的倍數,數值上等於(≥點陣圖寬度的最小的4的倍數)×點陣圖高度×每個像素位數。0090 0000為00009000h=80×90×2h=36864。
12)20-21:用象素/米表示的水平解析度。A00F 0000為0000 0FA0h=4000。
13)22-23:用象素/米表示的垂直解析度。A00F 0000為0000 0FA0h=4000。
14)24-25:點陣圖使用的顏色索引數。設為0的話,則說明使用所有調色板項。
15)26-27:對圖象顯示有重要影響的顏色索引的數目。如果是0,表示都重要。
三、彩色板
16)28-....(不確定):彩色板規范。對於調色板中的每個表項,用下述方法來描述RGB的值:
1位元組用於藍色分量
1位元組用於綠色分量
1位元組用於紅色分量
1位元組用於填充符(設置為0)
對於24-位真彩色圖像就不使用彩色板,因為點陣圖中的RGB值就代表了每個象素的顏色。
如,彩色板為00F8 0000 E007 0000 1F00 0000 0000 0000,其中:
00FB 0000為FB00h=1111100000000000(二進制),是藍色分量的掩碼。
E007 0000為 07E0h=0000011111100000(二進制),是綠色分量的掩碼。
1F00 0000為001Fh=0000000000011111(二進制),是紅色分量的掩碼。
0000 0000總設置為0。
將掩碼跟像素值進行「與」運算再進行移位操作就可以得到各色分量值。看看掩碼,就可以明白事實上在每個像素值的兩個位元組16位中,按從高到低取5、6、5位分別就是r、g、b分量值。取出分量值後把r、g、b值分別乘以8、4、8就可以補齊第個分量為一個位元組,再把這三個位元組按rgb組合,放入存儲器(同樣要反序),就可以轉換為24位標准BMP格式了。
四、圖像數據陣列
17)27(無調色板)-...:每兩個位元組表示一個像素。陣列中的第一個位元組表示點陣圖左下角的象素,而最後一個位元組表示點陣圖右上角的象素。
五、存儲演算法
BMP文件通常是不壓縮的,所以它們通常比同一幅圖像的壓縮圖像文件格式要大很多。例如,一個800×600的24位幾乎占據1.4MB空間。因此它們通常不適合在網際網路或者其它低速或者有容量限制的媒介上進行傳輸。 根據顏色深度的不同,圖像上的一個像素可以用一個或者多個位元組表示,它由n/8所確定(n是位深度,1位元組包含8個數據位)。圖片瀏覽器等基於位元組的ASCII值計算像素的顏色,然後從調色板中讀出相應的值。更為詳細的信息請參閱下面關於點陣圖文件的部分。 n位2n種顏色的點陣圖近似位元組數可以用下面的公式計算: BMP文件大小約等於 54+4*2的n次方+(w*h*n)/8
,其中高度和寬度都是像素數。 需要注意的是上面公式中的54是點陣圖文件的文件頭,是彩色調色板的大小。另外需要注意的是這是一個近似值,對於n位的點陣圖圖像來說,盡管可能有最多2n中顏色,一個特定的圖像可能並不會使用這些所有的顏色。由於彩色調色板僅僅定義了圖像所用的顏色,所以實際的彩色調色板將小於。 如果想知道這些值是如何得到的,請參考下面文件格式的部分。 由於存儲演算法本身決定的因素,根據幾個圖像參數的不同計算出的大小與實際的文件大小將會有一些細小的差別。

閱讀全文

與舉例說明圖片是如何組成的相關的資料

熱點內容
徐鶴圖片大全可愛 瀏覽:717
女孩子人設素材圖片 瀏覽:198
圖片動漫頭像高冷男生 瀏覽:257
如何摩擦掉圖片上的字 瀏覽:124
qq塗鴉怎麼導入圖片 瀏覽:380
25歲男生發型大全圖片 瀏覽:187
電腦上圖片怎麼加文字圖片 瀏覽:771
網紅男生圖片難過 瀏覽:223
中國五大美女最美圖片 瀏覽:807
微信怎麼發帶字的圖片 瀏覽:712
短發炫色發型圖片 瀏覽:311
word圖片怎麼整體縮放所有圖片 瀏覽:891
圖片可愛萌萌噠的小豬佩奇 瀏覽:469
親嘴怎麼圖片 瀏覽:197
如何做一張從無色變到有色的圖片 瀏覽:716
雙魚座女動漫圖片 瀏覽:912
學生裝發型圖片 瀏覽:678
男生肥胸圖片 瀏覽:283
非常簡單吉他譜圖片 瀏覽:528
圖片中花式字母怎麼寫 瀏覽:123