BmpformatWord格式.docx
- 文档编号:21305312
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:9
- 大小:18.93KB
BmpformatWord格式.docx
《BmpformatWord格式.docx》由会员分享,可在线阅读,更多相关《BmpformatWord格式.docx(9页珍藏版)》请在冰豆网上搜索。
General
BMPContents
FieldDetails
HeightField
BitsPerPixelField
CompressionField
ColorsField
ImportantColorsField
Introduction
ThisdocumentdescribestheMicrosoftWindowsandIBMOS/2picturebitmapfiles,calledBitmapsorBMPfiles.MostofthedescriptionsoftheBMPfileconcentrateontheMicrosoftWindowsBMPstructureslikeBMPINFOHEADERandBMPCOREINFO,butonlyafewdescribethefilecontentsonbytelevel.ThisinformationisthereforonlyintendedtobeusedinapplicationswheredirectreadingandwritingofaBMPfileisrequired.
BitmapFileFormat
ThefollowingchapterscontainthedetailedinformationonthecontentsoftheBMPfile.Firstmoregeneralinformationwillbegivenregardingthebyteorderandfilealignment.Thesecondchapterwillconcentrateonthebyte-levelcontentsofaBMPfile.Thethirdchapterwillelaborateonthischapterandexplainsomeoftheconcepts-likecompression-and/orvaluesindetail.
General
TheBMPfilehasbeencreatedbyMicrosoftandIBMandisthereforverystrictlyboundtothearchitectureofthemainhardwareplatformthatbothcompaniessupport:
theIBMcompatiblePC.ThismeansthatallvaluesstoredintheBMPfileareintheIntelformat,sometimesalsocalledtheLittleEndianformatbecauseofthebyteorderthatanIntelprocessorusesinternallytostorevalues.
TheBMPfilesaretheway,Windowsstoresbitmappedimages.TheBMPimagedataisbitpackedbuteverylinemustendonadwordboundary-ifthat’snotthecase,itmustbepaddedwithzeroes.BMPfilesarestoredbottom-up,thatmeansthatthefirstscanlineisthebottomline.
TheBMPformathasfourincarnations,twounderWindows(newandold)andtwounderOS/2,allaredescribedhere.
BMPContents
ThefollowingtablecontainsadescriptionofthecontentsoftheBMPfile.Foreveryfield,thefileoffset,thelengthandthecontentswillbegiven.Foramoredetaileddiscussion,seethefollowingchapters.
Offset
Field
Size
Contents
0000h
Identifier
2bytes
Thecharactersidentifyingthebitmap.Thefollowingentriesarepossible:
‘BM’-Windows3.1x,95,NT,…
‘BA’-OS/2BitmapArray
‘CI’-OS/2ColorIcon
‘CP’-OS/2ColorPointer
‘IC’-OS/2Icon
‘PT’-OS/2Pointer
0002h
FileSize
1dword
Completefilesizeinbytes.
0006h
Reserved
Reservedforlateruse.
000Ah
BitmapDataOffset
Offsetfrombeginningoffiletothebeginningofthebitmapdata.
000Eh
BitmapHeaderSize
LengthoftheBitmapInfoHeaderusedtodescribethebitmapcolors,compression,…Thefollowingsizesarepossible:
28h-Windows3.1x,95,NT,…
0Ch-OS/21.x
F0h-OS/22.x
0012h
Width
Horizontalwidthofbitmapinpixels.
0016h
Height
Verticalheightofbitmapinpixels.
001Ah
Planes
1word
Numberofplanesinthisbitmap.
001Ch
BitsPerPixel
Bitsperpixelusedtostorepaletteentryinformation.Thisalsoidentifiesinanindirectwaythenumberofpossiblecolors.Possiblevaluesare:
1-Monochromebitmap
4-16colorbitmap
8-256colorbitmap
16-16bit(highcolor)bitmap
24-24bit(truecolor)bitmap
32-32bit(truecolor)bitmap
001Eh
Compression
Compressionspecifications.Thefollowingvaluesarepossible:
0-none(AlsoidentifiedbyBI_RGB)
1-RLE8-bit/pixel(AlsoidentifiedbyBI_RLE4)
2-RLE4-bit/pixel(AlsoidentifiedbyBI_RLE8)
3-Bitfields(AlsoidentifiedbyBI_BITFIELDS)
0022h
BitmapDataSize
Sizeofthebitmapdatainbytes.Thisnumbermustberoundedtothenext4byteboundary.
0026h
HResolution
Horizontalresolutionexpressedinpixelpermeter.
002Ah
VResolution
Verticalresolutionexpressedinpixelspermeter.
002Eh
Colors
Numberofcolorsusedbythisbitmap.Fora8-bit/pixelbitmapthiswillbe100hor256.
0032h
ImportantColors
Numberofimportantcolors.Thisnumberwillbeequaltothenumberofcolorswheneverycolorisimportant.
0036h
Palette
N*4byte
Thepalettespecification.ForeveryentryinthepalettefourbytesareusedtodescribetheRGBvaluesofthecolorinthefollowingway:
1byteforbluecomponent
1byteforgreencomponent
1byteforredcomponent
1bytefillerwhichissetto0(zero)
0436h
BitmapData
xbytes
Dependingonthecompressionspecifications,thisfieldcontainsallthebitmapdatabyteswhichrepresentindicesinthecolorpalette.
Note:
Thefollowingsizeswereusedinthespecificationabove:
#bytes
Sign
char
1
signed
word
2
unsigned
dword
4
FieldDetails
Someofthefieldsrequiresomemoreinformation.Thefollowingchapterswilltrytoprovidethisinformation:
HeightField
TheHeightfieldidentifiestheheightofthebitmapinpixels.Inotherwords,itdescribesthenumberofscanlinesofthebitmap.Ifthisfieldisnegative,indicatingatop-downDIB,theCompressionfieldmustbeeitherBI_RGBorBI_BITFIELDS.Top-downDIBscannotbecompressed.
BitsPerPixelField
TheBitsPerPixel(BBP)fieldofthebitmapfiledeterminesthenumberofbitsthatdefineeachpixelandthemaximumnumberofcolorsinthebitmap.
∙Whenthisfieldisequalto1.
Thebitmapismonochrome,andthepalettecontainstwoentries.Eachbitinthebitmaparrayrepresentsapixel.Ifthebitisclear,thepixelisdisplayedwiththecolorofthefirstentryinthepalette;
ifthebitisset,thepixelhasthecolorofthesecondentryinthetable.
∙Whenthisfieldisequalto4.
Thebitmaphasamaximumof16colors,andthepalettecontainsupto16entries.Eachpixelinthebitmapisrepresentedbya4-bitindexintothepalette.Forexample,ifthefirstbyteinthebitmapis1Fh,thebyterepresentstwopixels.Thefirstpixelcontainsthecolorinthesecondpaletteentry,andthesecondpixelcontainsthecolorinthesixteenthpaletteentry.
∙Whenthisfieldisequalto8.
Thebitmaphasamaximumof256colors,andthepalettecontainsupto256entries.Inthiscase,eachbyteinthearrayrepresentsasinglepixel.
∙Whenthisfieldisequalto16.
Thebitmaphasamaximumof2^16colors.IftheCompressionfieldofthebitmapfileissettoBI_RGB,thePalettefielddoesnotcontainanyentries.Eachwordinthebitmaparrayrepresentsasinglepixel.Therelativeintensitiesofred,green,andbluearerepresentedwith5bitsforeachcolorcomponent.Thevalueforblueisintheleastsignificant5bits,followedby5bitseachforgreenandred,respectively.Themostsignificantbitisnotused.
IftheCompressionfieldofthebitmapfileissettoBI_BITFIELDS,thePalettefieldcontainsthreedwordcolormasksthatspecifythered,green,andbluecomponents,respectively,ofeachpixel.Eachwordinthebitmaparrayrepresentsasinglepixel.
WindowsNTspecific:
WhentheCompressionfieldissettoBI_BITFIELDS,bitssetineachdwordmaskmustbecontiguousandshouldnotoverlapthebitsofanothermask.Allthebitsinthepixeldonothavetobeused.
Windows95specific:
WhentheCompressionfieldissettoBI_BITFIELDS,Windows95supportsonlythefollowing16bppcolormasks:
A5-5-516-bitimage,wherethebluemaskis0x001F,thegreenmaskis0x03E0,andtheredmaskis0x7C00;
anda5-6-516-bitimage,wherethebluemaskis0x001F,thegreenmaskis0x07E0,andtheredmaskis0xF800.
∙Whenthisfieldisequalto24.
Thebitmaphasamaximumof2^24colors,andthePalettefielddoesnotcontainanyentries.Each3-bytetripletinthebitmaparrayrepresentstherelativeintensitiesofblue,green,andred,respectively,forapixel.
∙Whenthisfieldisequalto32.
Thebitmaphasamaximumof2^32colors.IftheCompressionfieldofthebitmapissettoBI_RGB,thePalettefielddoesnotcontainanyentries.Eachdwordinthebitmaparrayrepresentstherelativeintensitiesofblue,green,andred,respectively,forapixel.Thehighbyteineachdwordisnotused.
IftheCompressionfieldofthebitmapissettoBI_BITFIELDS,thePalettefieldcontainsthreedwordcolormasksthatspecifythered,green,andbluecomponents,respectively,ofeachpixel.Eachdwordinthebitmaparrayrepresentsasinglepixel.
WhentheCompressionfieldissettoBI_BITFIELDS,Windows95supportsonlythefollowing32bppcolormask:
Thebluemaskis0x000000FF,thegreenmaskis0x0000FF00,andtheredmaskis0x00FF0000.
CompressionField
TheCompressionfieldspecifiesthewaythebitmapdataisstoredinthefile.ThisinformationtogetherwiththeBitsPerPixel(BPP)fieldidentifiesthecompressionalgorithmtofollow.
Thefollowingvaluesarepossibleinthisfield:
Value
Meaning
BI_RGB
Anuncompressedformat.
BI_RLE4
AnRLEformatforbitmapswith4bitsperpixel.Thecompressionformatisatwo-byteformatconsistingofacountbytefollowedbytwoword-lengthcolorindices.Formoreinformation,seethefollowingRemarkssection.
BI_RLE8
Arun-lengthencoded(RLE)formatforbitmapswith8bitsperpixel.Thecompressionformatisatwo-byteformatconsistingofacountbytefollowedbyabytecontainingacolorindex.Formoreinformation,seethefollowingRemarkssection.
BI_BITFIELDS
Specifiesthatthebitmapisnotcompressedandthatthecolortableconsis
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Bmpformat