Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var data = [];
- var pixels = [];
- var byteCount = 0;
- const SIGNATURE = 0x4d42;
- const HEADER_SIZE = 54;
- const SIZE_OF_BITMAP_INFO_HEADER = 40;
- const RESERVED01 = 0;
- const RESERVED02 = 0;
- const IMAGE_BYTE_OFFSET = 40;
- const BITMAP_INFO_HEADER = 40;
- var width = 16;
- var height = 16;
- var bitsPerPixel = 24;
- var compressionType = 0;
- var sizeOfImg=width * height * (bitsPerPixel/8);
- var sizeOfBMP=HEADER_SIZE + sizeOfImg;
- var horizontalResolutionPM = 100;
- var verticalResolutionPM = 100;
- var numberOfColors = 0;
- var numberOfImportantColors = 0;
- func reverse(a){
- var b = [];
- for(var i = 0; i < a.len; i+=1){
- b[i] = a[a.len-1-i];
- }
- return b;
- };
- func appendData(a){print a; data += reverse(a)};
- func finalizeData(){
- var s = "";
- for(var i = 0; i < byteCount; i+=1){
- s+= @"data[i];
- }
- return s;
- };
- func toBytes(a,size){
- var b = [];
- byteCount += size;
- for(var i = 0; i < size; i+= 1){
- var offset = (size - i-1) * 8;
- if(i == 0){
- b[0] = a >> offset;
- }else if(i == size-1){
- b[i] = a;
- for(var j = 0; j < i; j+=1){
- var offset2 = (size - j-1) * 8;
- b[i] -= b[j] << offset2;
- }
- }else{
- b[i] = a;
- for(var j = 0; j < i; j+=1){
- var offset2 = (size - j-1) * 8;
- b[i] -= b[j] << offset2;
- }
- b[i] >>= offset;
- }
- }
- return b;
- };
- appendData(toBytes(SIGNATURE,2));
- appendData(toBytes(sizeOfBMP,4));
- appendData(toBytes(RESERVED02,2));
- appendData(toBytes(RESERVED02,2));
- appendData(toBytes(IMAGE_BYTE_OFFSET,4));
- appendData(toBytes(40,4));
- appendData(toBytes(width,4));
- appendData(toBytes(height,4));
- appendData(toBytes(1,2));
- appendData(toBytes(bitsPerPixel,2));
- appendData(toBytes(compressionType,4));
- appendData(toBytes(sizeOfImg,4));
- appendData(toBytes(horizontalResolutionPM,4));
- appendData(toBytes(verticalResolutionPM,4));
- appendData(toBytes(numberOfColors,4));
- appendData(toBytes(numberOfImportantColors,4));
- for(var i = 0; i < width*height; i+=1){
- appendData(toBytes(0x32CD32,bitsPerPixel/8));
- }
- var out = finalizeData();
- var file = IO.open("Hello.bmp", "w");
- file.write(out);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement