41 lines
1.1 KiB
Lua
41 lines
1.1 KiB
Lua
local bin = require("bin")
|
|
bmp = {}
|
|
bmp.__index = bin
|
|
bmp.width = 0
|
|
bmp.height = 0
|
|
bmp.Type = "BMP"
|
|
local File_Header_Size = 14
|
|
local Image_Header_Size = 40
|
|
--[[
|
|
File Header:
|
|
bfType 2 The characters "BM"
|
|
bfSize 4 The size of the file in bytes
|
|
bfReserved1 2 Unused - must be zero
|
|
bfReserved2 2 Unused - must be zero
|
|
bfOffBits 4 Offset to start of Pixel Data
|
|
|
|
The Image Header:
|
|
biSize 4 Header Size - Must be at least 40
|
|
biWidth 4 Image width in pixels
|
|
biHeight 4 Image height in pixels
|
|
biPlanes 2 Must be 1
|
|
biBitCount 2 Bits per pixel - 1, 4, 8, 16, 24, or 32
|
|
biCompression 4 Compression type (0 = uncompressed)
|
|
biSizeImage 4 Image Size - may be zero for uncompressed images
|
|
biXPelsPerMeter 4 Preferred resolution in pixels per meter
|
|
biYPelsPerMeter 4 Preferred resolution in pixels per meter
|
|
biClrUsed 4 Number Color Map entries that are actually used
|
|
biClrImportant 4 Number of significant colors
|
|
|
|
|
|
]]
|
|
function bmp:new(w,h)
|
|
local c = {}
|
|
setmetatable(c,self)
|
|
c.header = bin.newDataBuffer(File_Header_Size,"\0")
|
|
c.fileheader = bin.newDataBuffer(Image_Header_Size,"\0")
|
|
end
|
|
function bmp:tofile(name)
|
|
--
|
|
end
|