<html><head> <script language="VBScript"> Dim BmpFileHeader, BmpInfoHeader, BmpImageData Dim BmpImageWidth, BmpImageHeight, BmpImageLineBytes BmpFileHeader = Array(66,77, 54,0,0,0, 0,0, 0,0, 54,0,0,0) BmpInfoHeader = Array(40,0,0,0, 0,0,0,0, 0,0,0,0, 1,0, 24,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0) BmpImageData = Array() Sub SetArrayLong(arr, index, LongNum) Dim num, i num = CLng(LongNum) For i = 0 To 3 arr(index + i) = num Mod &H100 num = num \ &H100 Next End Sub Sub SetBmpSize(x, y) BmpImageWidth = x BmpImageHeight = y BmpImageLineBytes = ((x * 3 + 3) \ 4) * 4 SetArrayLong BmpFileHeader, 2, 54 + BmpImageLineBytes * y SetArrayLong BmpInfoHeader, 4, x SetArrayLong BmpInfoHeader, 8, y ReDim BmpImageData(BmpImageLineBytes * y - 1) End Sub Sub SetPixel(x, y, r, g, b) Dim index index = (BmpImageHeight - y - 1) * BmpImageLineBytes + x * 3 BmpImageData(index) = b BmpImageData(index+1) = g BmpImageData(index+2) = r End Sub
Sub SaveBmpFile() Dim strm, i Set strm = CreateObject("ADODB.Stream") strm.Type = 2 ' = adTypeText strm.Charset = "iso-8859-1" strm.Open For Each i In BmpFileHeader strm.WriteText ChrW(i) Next For Each i In BmpInfoHeader strm.WriteText ChrW(i) Next For Each i In BmpImageData strm.WriteText ChrW(i) Next strm.SaveToFile "test.bmp", 2 End Sub Sub Main() SetBmpSize 32, 32 dim i for i=0 to 31 SetPixel i,i, 255,0,0 next SaveBmpFile End Sub </script> </head> <body><button onclick="Main()">SAVE BMP FILE</button></body> </html>