From b69d53fca31b349d392342082d12ae76d7e83d3a Mon Sep 17 00:00:00 2001 From: Lee Broxson Date: Thu, 15 Sep 2016 14:37:58 -0700 Subject: [PATCH 01/45] Initial files added. Initial repo creation. --- bitmap-destruction-force/.eslintignore | 3 ++ bitmap-destruction-force/.eslintrc | 41 ++++++++++++++++ bitmap-destruction-force/.gitignore | 65 ++++++++++++++++++++++++++ bitmap-destruction-force/gulpfile.js | 24 ++++++++++ bitmap-destruction-force/index.js | 1 + 5 files changed, 134 insertions(+) create mode 100644 bitmap-destruction-force/.eslintignore create mode 100644 bitmap-destruction-force/.eslintrc create mode 100644 bitmap-destruction-force/.gitignore create mode 100644 bitmap-destruction-force/gulpfile.js create mode 100644 bitmap-destruction-force/index.js diff --git a/bitmap-destruction-force/.eslintignore b/bitmap-destruction-force/.eslintignore new file mode 100644 index 0000000..22c42f0 --- /dev/null +++ b/bitmap-destruction-force/.eslintignore @@ -0,0 +1,3 @@ +**/node_modules/* +**/vendor/* +**/*.min.js diff --git a/bitmap-destruction-force/.eslintrc b/bitmap-destruction-force/.eslintrc new file mode 100644 index 0000000..dd1007f --- /dev/null +++ b/bitmap-destruction-force/.eslintrc @@ -0,0 +1,41 @@ +{ + "rules": { + "comma-dangle": ["error", "always-multiline"], + "no-console": 0, + "indent": [ + 2, + 2 + ], + "quotes": [ + 2, + "single" + ], + "linebreak-style": [ + 2, + "unix" + ], + "semi": [ + 2, + "always" + ] + }, + "env": { + "es6": true, + "node": true, + "browser": true + }, + "globals": { + "describe": false, + "it": false, + "beforeEach": false, + "afterEach": false, + "before": false, + "after": false + }, + "ecmaFeatures": { + "modules": true, + "experimentalObjectRestSpread": true, + "impliedStrict": true + }, + "extends": "eslint:recommended" +} diff --git a/bitmap-destruction-force/.gitignore b/bitmap-destruction-force/.gitignore new file mode 100644 index 0000000..b02a2a7 --- /dev/null +++ b/bitmap-destruction-force/.gitignore @@ -0,0 +1,65 @@ +# Created by https://www.gitignore.io/api/osx,linux,node,vim + +### OSX ### +.DS_Store +.AppleDouble +.LSOverride + +### Linux ### +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + + +### Node ### +# Logs +logs +*.log +npm-debug.log* + +# Runtime data +pids +*.pid +*.seed + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules +jspm_packages + +# Optional npm cache directory +.npm + +# Optional REPL history +.node_repl_history + +### Vim ### +# swap +[._]*.s[a-w][a-z] +[._]s[a-w][a-z] +# session +Session.vim +# temporary +.netrwhist +*~ + +# auto-generated tag files +tags diff --git a/bitmap-destruction-force/gulpfile.js b/bitmap-destruction-force/gulpfile.js new file mode 100644 index 0000000..6fa5a33 --- /dev/null +++ b/bitmap-destruction-force/gulpfile.js @@ -0,0 +1,24 @@ +'use strict'; + +const gulp = require('gulp'); +const eslint = require('gulp-eslint'); +const mocha = require('gulp-mocha'); + +gulp.task('lint', function() { + return gulp.src(['**/*.js', '!node_modules/**']) + .pipe(eslint()) + .pipe(eslint.format()) + .pipe(eslint.failAfterError()); +}); + +gulp.task('test', function() { + gulp.src('./test/*-test.js', {read:false}) + .pipe(mocha({reporter:'landing'})); +}); + +gulp.task('default', ['test']); + +gulp.task('dev', function() { + gulp.watch(['**/*.js', '!node_modules/**'], + ['lint', 'test']); +}); diff --git a/bitmap-destruction-force/index.js b/bitmap-destruction-force/index.js new file mode 100644 index 0000000..ad9a93a --- /dev/null +++ b/bitmap-destruction-force/index.js @@ -0,0 +1 @@ +'use strict'; From c11dfaf6a66d0e94f0eb312e01d1366a8cd20797 Mon Sep 17 00:00:00 2001 From: Lee Broxson Date: Thu, 15 Sep 2016 14:40:59 -0700 Subject: [PATCH 02/45] npm init done. Package.json created. --- bitmap-destruction-force/package.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 bitmap-destruction-force/package.json diff --git a/bitmap-destruction-force/package.json b/bitmap-destruction-force/package.json new file mode 100644 index 0000000..b9fea56 --- /dev/null +++ b/bitmap-destruction-force/package.json @@ -0,0 +1,12 @@ +{ + "name": "bitmap-destruction-force", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": ["broxsonl@gmail.com", "peterkim23@gmail.com"], + "license": "ISC" +} From 7f1b9b84e7f9992eb67b4fc757b9faf5ffd0f9c2 Mon Sep 17 00:00:00 2001 From: Lee Broxson Date: Thu, 15 Sep 2016 14:42:28 -0700 Subject: [PATCH 03/45] Added devDependencies. --- bitmap-destruction-force/package.json | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/bitmap-destruction-force/package.json b/bitmap-destruction-force/package.json index b9fea56..81b38fb 100644 --- a/bitmap-destruction-force/package.json +++ b/bitmap-destruction-force/package.json @@ -7,6 +7,16 @@ "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], - "author": ["broxsonl@gmail.com", "peterkim23@gmail.com"], - "license": "ISC" + "author": [ + "broxsonl@gmail.com", + "peterkim23@gmail.com" + ], + "license": "ISC", + "devDependencies": { + "eslint": "^3.5.0", + "gulp": "^3.9.1", + "gulp-eslint": "^3.0.1", + "gulp-mocha": "^3.0.1", + "mocha": "^3.0.2" + } } From a574a1ec469026271c5e2a450c074f301f0af4bb Mon Sep 17 00:00:00 2001 From: Lee Broxson Date: Thu, 15 Sep 2016 14:48:53 -0700 Subject: [PATCH 04/45] Finished initial repo setup. --- bitmap-destruction-force/README.md | 5 +++++ bitmap-destruction-force/lib/bitmapFileHelper.js | 0 bitmap-destruction-force/model/bitmapConstructor.js | 0 bitmap-destruction-force/model/colorConstructor.js | 0 bitmap-destruction-force/test/bitmapConstructorTest.js | 0 bitmap-destruction-force/test/bitmapFileHelperTest.js | 0 bitmap-destruction-force/test/colorConstructorTest.js | 0 7 files changed, 5 insertions(+) create mode 100644 bitmap-destruction-force/README.md create mode 100644 bitmap-destruction-force/lib/bitmapFileHelper.js create mode 100644 bitmap-destruction-force/model/bitmapConstructor.js create mode 100644 bitmap-destruction-force/model/colorConstructor.js create mode 100644 bitmap-destruction-force/test/bitmapConstructorTest.js create mode 100644 bitmap-destruction-force/test/bitmapFileHelperTest.js create mode 100644 bitmap-destruction-force/test/colorConstructorTest.js diff --git a/bitmap-destruction-force/README.md b/bitmap-destruction-force/README.md new file mode 100644 index 0000000..bacdca2 --- /dev/null +++ b/bitmap-destruction-force/README.md @@ -0,0 +1,5 @@ +##Team Bitmap Destruction Force + +**Members:** + +Lee Broxson, Peter Kim diff --git a/bitmap-destruction-force/lib/bitmapFileHelper.js b/bitmap-destruction-force/lib/bitmapFileHelper.js new file mode 100644 index 0000000..e69de29 diff --git a/bitmap-destruction-force/model/bitmapConstructor.js b/bitmap-destruction-force/model/bitmapConstructor.js new file mode 100644 index 0000000..e69de29 diff --git a/bitmap-destruction-force/model/colorConstructor.js b/bitmap-destruction-force/model/colorConstructor.js new file mode 100644 index 0000000..e69de29 diff --git a/bitmap-destruction-force/test/bitmapConstructorTest.js b/bitmap-destruction-force/test/bitmapConstructorTest.js new file mode 100644 index 0000000..e69de29 diff --git a/bitmap-destruction-force/test/bitmapFileHelperTest.js b/bitmap-destruction-force/test/bitmapFileHelperTest.js new file mode 100644 index 0000000..e69de29 diff --git a/bitmap-destruction-force/test/colorConstructorTest.js b/bitmap-destruction-force/test/colorConstructorTest.js new file mode 100644 index 0000000..e69de29 From 1562f7b2c84b58167b9cf2ad95f0812fe9d0f85d Mon Sep 17 00:00:00 2001 From: Lee Broxson Date: Thu, 15 Sep 2016 15:52:46 -0700 Subject: [PATCH 05/45] Found where the color array begins and logged. --- bitmap-destruction-force/lib/bitmapFileHelper.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/bitmap-destruction-force/lib/bitmapFileHelper.js b/bitmap-destruction-force/lib/bitmapFileHelper.js index e69de29..fe36c6b 100644 --- a/bitmap-destruction-force/lib/bitmapFileHelper.js +++ b/bitmap-destruction-force/lib/bitmapFileHelper.js @@ -0,0 +1,12 @@ +'use strict'; + +const fs = require('fs'); + +const buf = fs.readFileSync('../../assets/bitmap.bmp'); + +console.log(buf); + +//Starts where the colorArray begins +console.log(buf.readUInt32LE(54)); + +// console.log(buf.toString()); From b097e77f7212da5425c1eedbc34e646c89ece592 Mon Sep 17 00:00:00 2001 From: Lee Broxson Date: Thu, 15 Sep 2016 20:24:21 -0700 Subject: [PATCH 06/45] Able to manipulate the colors of the file and write a new one. --- .../lib/bitmapFileHelper.js | 29 +++++++++++++++--- bitmap-destruction-force/lib/newfile.bmp | Bin 0 -> 11078 bytes 2 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 bitmap-destruction-force/lib/newfile.bmp diff --git a/bitmap-destruction-force/lib/bitmapFileHelper.js b/bitmap-destruction-force/lib/bitmapFileHelper.js index fe36c6b..847150d 100644 --- a/bitmap-destruction-force/lib/bitmapFileHelper.js +++ b/bitmap-destruction-force/lib/bitmapFileHelper.js @@ -4,9 +4,30 @@ const fs = require('fs'); const buf = fs.readFileSync('../../assets/bitmap.bmp'); -console.log(buf); +//Find file size +console.log('file size',(buf.readUInt32LE(2)) ); -//Starts where the colorArray begins -console.log(buf.readUInt32LE(54)); +//Offset Starts here +console.log('pixel array offset(pixel array starts here)', buf.readUInt32LE(10)); -// console.log(buf.toString()); +//Color array size in bytes +console.log('size of color array in bytes (subtracting the header stuff)', (1078 - 54)); + +//Total number of indices in ColorArray +console.log('total number of colors in color array', ((1078 - 54)/4)); + +var colorArray; +colorArray = buf.slice(54, 1078); + +var currentColor; + +for (var i = 0;i <= 1024;i += 4){ + currentColor = colorArray.slice(i, i+4); + console.log('B' + currentColor[0] + ' + ' + 'G' + currentColor[1] + ' + ' + 'R' + currentColor[2] + ' + ' + 'A' + currentColor[3]); + currentColor[0] = 0; + currentColor[1] = 255; + currentColor[2] = 0; + currentColor[3] = 0; +} + +fs.writeFileSync('./newfile.bmp', buf); diff --git a/bitmap-destruction-force/lib/newfile.bmp b/bitmap-destruction-force/lib/newfile.bmp new file mode 100644 index 0000000000000000000000000000000000000000..1702b30595877b868f795924f65864c86f27d483 GIT binary patch literal 11078 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 literal 0 HcmV?d00001 From f8e48d8ad974c82a63e92cfa8050408a721eb27f Mon Sep 17 00:00:00 2001 From: Lee Broxson Date: Thu, 15 Sep 2016 20:56:05 -0700 Subject: [PATCH 07/45] Messing with the constructor. --- .../model/bitmapConstructor.js | 23 +++++++++++++++++++ .../model/colorConstructor.js | 0 2 files changed, 23 insertions(+) delete mode 100644 bitmap-destruction-force/model/colorConstructor.js diff --git a/bitmap-destruction-force/model/bitmapConstructor.js b/bitmap-destruction-force/model/bitmapConstructor.js index e69de29..e62c27a 100644 --- a/bitmap-destruction-force/model/bitmapConstructor.js +++ b/bitmap-destruction-force/model/bitmapConstructor.js @@ -0,0 +1,23 @@ +'use strict'; + +const fs = require('fs'); + +// const bitmapFileHelper = require('../lib/bitmapFileHelper'); + +module.exports = exports = {}; + +exports.turnGreen = function(buf, file) { + var colorArray; + colorArray = buf.slice(54, 1078); + + var currentColor; + + for (var i = 0;i <= 1024;i += 4){ + currentColor = colorArray.slice(i, i+4); + console.log('B' + currentColor[0] + ' + ' + 'G' + currentColor[1] + ' + ' + 'R' + currentColor[2] + ' + ' + 'A' + currentColor[3]); + currentColor[0] = 0; + currentColor[1] = 255; + currentColor[2] = 0; + currentColor[3] = 0; + } +}; diff --git a/bitmap-destruction-force/model/colorConstructor.js b/bitmap-destruction-force/model/colorConstructor.js deleted file mode 100644 index e69de29..0000000 From 0bcc8b9e0083a6f054b2c8cbbcf8bbfb6bb961b4 Mon Sep 17 00:00:00 2001 From: Lee Broxson Date: Thu, 15 Sep 2016 21:01:14 -0700 Subject: [PATCH 08/45] put the running stuff back in place. --- .../lib/bitmapFileHelper.js | 6 +++--- bitmap-destruction-force/lib/newfile.bmp | Bin 11078 -> 11078 bytes 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bitmap-destruction-force/lib/bitmapFileHelper.js b/bitmap-destruction-force/lib/bitmapFileHelper.js index 847150d..de55dde 100644 --- a/bitmap-destruction-force/lib/bitmapFileHelper.js +++ b/bitmap-destruction-force/lib/bitmapFileHelper.js @@ -21,12 +21,12 @@ colorArray = buf.slice(54, 1078); var currentColor; -for (var i = 0;i <= 1024;i += 4){ +for (var i = 0; i < 1024;i += 4){ currentColor = colorArray.slice(i, i+4); console.log('B' + currentColor[0] + ' + ' + 'G' + currentColor[1] + ' + ' + 'R' + currentColor[2] + ' + ' + 'A' + currentColor[3]); currentColor[0] = 0; - currentColor[1] = 255; - currentColor[2] = 0; + currentColor[1] = 0; + currentColor[2] = 255; currentColor[3] = 0; } diff --git a/bitmap-destruction-force/lib/newfile.bmp b/bitmap-destruction-force/lib/newfile.bmp index 1702b30595877b868f795924f65864c86f27d483..f0b75e5f28bb8eeb6a1e192d76c063a4545dbec6 100644 GIT binary patch delta 18 acmX>Wb}Vdy`9`NN%oF{%H=D5tr~?2{BnJ2Z delta 18 acmX>Wb}Vdy`9_yd%oF{1H=D5tr~?2{G6wnp From 27d8d7ba027adf1b8206793c9f1ea0da5093227e Mon Sep 17 00:00:00 2001 From: Lee Broxson Date: Thu, 15 Sep 2016 23:25:07 -0700 Subject: [PATCH 09/45] Played around with the constructor. --- .../lib/bitmapFileHelper.js | 6 +++--- bitmap-destruction-force/lib/newfile.bmp | Bin 11078 -> 11078 bytes 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bitmap-destruction-force/lib/bitmapFileHelper.js b/bitmap-destruction-force/lib/bitmapFileHelper.js index de55dde..8849206 100644 --- a/bitmap-destruction-force/lib/bitmapFileHelper.js +++ b/bitmap-destruction-force/lib/bitmapFileHelper.js @@ -24,9 +24,9 @@ var currentColor; for (var i = 0; i < 1024;i += 4){ currentColor = colorArray.slice(i, i+4); console.log('B' + currentColor[0] + ' + ' + 'G' + currentColor[1] + ' + ' + 'R' + currentColor[2] + ' + ' + 'A' + currentColor[3]); - currentColor[0] = 0; - currentColor[1] = 0; - currentColor[2] = 255; + currentColor[0] = 10-i; + currentColor[1] = 30-i; + currentColor[2] = 84-i; currentColor[3] = 0; } diff --git a/bitmap-destruction-force/lib/newfile.bmp b/bitmap-destruction-force/lib/newfile.bmp index f0b75e5f28bb8eeb6a1e192d76c063a4545dbec6..11b37aa0b7419afb451ed0115ae36a72c702bbec 100644 GIT binary patch delta 1043 zcmc)Jfks0C06@_zS(!{F$z(EFNs_5aGMP*!Nis>2$z+lwlSwa=$z*0SnM@|hBw3kE zlF4K;naoTklgT7WCdp*>5$_j{dt=6!(XA1riYX-W396dMC^e4qD;uFG9p+0i#7ETt zg;F2+-(GUXZn9sUWIozS71~JVTS??vh-aIKW$KBh>bObP5=m4OjzcK+$654;;LSJ3 zkxv5Qcl@C@d}ptCgD-fFpK%4!0#5%E4&Nho?*p5jdu*;dtj=3j9oH<|udr-hVz!-Q zvYs-xdcw@|5k|`)ljZ})P5T(;_R!C`(HVEqPVO)`zKzDPg<8Ksk8YhV?Ha1V6_lDK z6zWCfJqt8<&C{rwMWz&{5mi74q(v1FWJ*y5gmMHT3JB#0L=+Gz8;B-QQ`unpqQAPK F;~y+5hA{vD delta 1043 zcmX>Wb}VdySv>>8e})0XK>G*O0rdmwdj^L30rmZVp#1~ufYJCL*aXN9jsMN2EQ0C) D;&lfx From 347c663206a574fe1e5dbc1991e5773993b0a233 Mon Sep 17 00:00:00 2001 From: Lee Broxson Date: Fri, 16 Sep 2016 09:21:04 -0700 Subject: [PATCH 10/45] Started working on the constructor and moving the color changer over. --- bitmap-destruction-force/index.js | 7 ++ .../model/bitmapConstructor.js | 64 ++++++++++++++++--- 2 files changed, 63 insertions(+), 8 deletions(-) diff --git a/bitmap-destruction-force/index.js b/bitmap-destruction-force/index.js index ad9a93a..dbedaa7 100644 --- a/bitmap-destruction-force/index.js +++ b/bitmap-destruction-force/index.js @@ -1 +1,8 @@ 'use strict'; + +const buf = fs.readFileSync('../../assets/bitmap.bmp'); + + +call the readSync to get the file and then have the properties to output to +call the constructor and have the properties to output to +call the write to write the resulting thing diff --git a/bitmap-destruction-force/model/bitmapConstructor.js b/bitmap-destruction-force/model/bitmapConstructor.js index e62c27a..9802918 100644 --- a/bitmap-destruction-force/model/bitmapConstructor.js +++ b/bitmap-destruction-force/model/bitmapConstructor.js @@ -2,18 +2,18 @@ const fs = require('fs'); -// const bitmapFileHelper = require('../lib/bitmapFileHelper'); - -module.exports = exports = {}; +// const buf = fs.readFileSync('../../assets/bitmap.bmp'); -exports.turnGreen = function(buf, file) { - var colorArray; - colorArray = buf.slice(54, 1078); +function BitmapConstructor(buf) { + this.filesize = buf.readUInt32LE(2); + this.offset = buf.readUInt32LE(10); + this.colorArray = buf.slice(54, 1078); +} +BitmapConstructor.prototype.changeBitmap = function changeBitmap() { var currentColor; - for (var i = 0;i <= 1024;i += 4){ - currentColor = colorArray.slice(i, i+4); + currentColor = this.colorArray.slice(i, i+4); console.log('B' + currentColor[0] + ' + ' + 'G' + currentColor[1] + ' + ' + 'R' + currentColor[2] + ' + ' + 'A' + currentColor[3]); currentColor[0] = 0; currentColor[1] = 255; @@ -21,3 +21,51 @@ exports.turnGreen = function(buf, file) { currentColor[3] = 0; } }; + +BitmapConstructor.turnGreen(buf); + +module.exports = BitmapConstructor; + +// BitmapConstructor.prototype.turnRed = function() { +// var currentColor; +// for (var i = 0;i <= 1024;i += 4){ +// currentColor = this.colorArray.slice(i, i+4); +// console.log('B' + currentColor[0] + ' + ' + 'G' + currentColor[1] + ' + ' + 'R' + currentColor[2] + ' + ' + 'A' + currentColor[3]); +// currentColor[0] = 0; +// currentColor[1] = 0; +// currentColor[2] = 255; +// currentColor[3] = 0; +// } +// }; +// +// BitmapConstructor.prototype.turnBlue = function() { +// var currentColor; +// for (var i = 0;i <= 1024;i += 4){ +// currentColor = this.colorArray.slice(i, i+4); +// console.log('B' + currentColor[0] + ' + ' + 'G' + currentColor[1] + ' + ' + 'R' + currentColor[2] + ' + ' + 'A' + currentColor[3]); +// currentColor[0] = 255; +// currentColor[1] = 0; +// currentColor[2] = 0; +// currentColor[3] = 0; +// } +// }; + +// const bitmapFileHelper = require('../lib/bitmapFileHelper'); +// +// module.exports = exports = {}; +// +// exports.turnGreen = function(buf, file) { +// var colorArray; +// colorArray = buf.slice(54, 1078); +// +// var currentColor; +// +// for (var i = 0;i <= 1024;i += 4){ +// currentColor = colorArray.slice(i, i+4); +// console.log('B' + currentColor[0] + ' + ' + 'G' + currentColor[1] + ' + ' + 'R' + currentColor[2] + ' + ' + 'A' + currentColor[3]); +// currentColor[0] = 0; +// currentColor[1] = 255; +// currentColor[2] = 0; +// currentColor[3] = 0; +// } +// }; From 4921fc889c620c7c68403f86503a34ae6b3b06ef Mon Sep 17 00:00:00 2001 From: Peter Kim Date: Fri, 16 Sep 2016 09:29:47 -0700 Subject: [PATCH 11/45] stashing changes --- bitmap-destruction-force/lib/newfile.bmp | Bin 0 -> 11078 bytes bitmap-destruction-force/newfile.bmp | Bin 0 -> 11078 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 bitmap-destruction-force/lib/newfile.bmp create mode 100644 bitmap-destruction-force/newfile.bmp diff --git a/bitmap-destruction-force/lib/newfile.bmp b/bitmap-destruction-force/lib/newfile.bmp new file mode 100644 index 0000000000000000000000000000000000000000..9890e14465f17946933c8091d15ec3d5617c46ba GIT binary patch literal 11078 zcmeI1O|s)Q5`^i9S(sr)$l--n+RsGH-Upb)?0gH~{|cV`GOO@Isrz|9jg~+VBr+?r z0FZk9pFjTl@5ANye;miZ)cUi&KOH~2|JQ#W$8W#nd;Fv>egD$o$M=T^Kjy&y=Nxz) zFFq-c2Pcn1M?R`tUfr0d$Dtd~*Tv_!j`P&Hk%Gl#-xBodG`O)qH2#iUe0|`K>-D-G zHU8pw0{lAEuaXOOs1uFqlIR<5>QN8G;0w?n=`f_k9IuN`m5?-A@S7!rB_x6dNjKar zCm)AQ5}uiWJym3nO%uVuYZ@Pw1s{!OjwE6F)h+isUJ}w;UdIV7N<;?B7e^>WGL$GOo>a*| z^He?(zv}r3=Dj8aIrY$-G7Ah8EsugCH(7xdd-r3I3ZdOmm-E(gKCV-Vmthx7h=NHH zj0arG8qx5Y87g;#5F*AR;8VK0c_+7yOH;!Acc$siVdr6 zrBO>0k`j7UL<(Td)5qDPMa~I}T;M3s*RxkggJ}vkPkGiUm}nL7TSxkx2b@xI_O%Yp zGdKsq+JHvqg*^{j&u~sT(7%UM9V*L^vaH2cQw-5GK}TytUwz^ZvDqO9Zaq{F%^zJ9 zAE^CZ%(93bc*H%3N5iwJBmmDeBmLU0B+;o|Z4xe@9e#j)ZjfZ{xyk~q)QZS%A6fp| zW;ibuuzpbS8Qs0Cy+Y2OVkVIw5B2yY=iumq5S70zB^)HabZD@eTKX(<7R+R;Hm%>>%0$vQZ33wOJ<7#_H7K2>k<)#UA ze1e6%0-T(J-gMNJL|(Y4u~j*g0L)rsa57;-H_sOZ&A`!4ajcRaZe}-0$Ua6((J^x8 zqUU2t+|C9Ry2niB5d_kqQAus9HYInWp@gvo2r9r09#qunA5UP18x5tz@^s%@8Tft0 zVH*mzP*_A===(@`NwJGO_{IMTqxbrVi?JUQ4uI=(1+eyeCjPYwv^bVUQWD)5Qpcs-xcd`n78s8QGj>Q;1( z92HIZ!~k+3n&WuNfiHx_N+QjsvC@DQ4lRwGs7{NFK%|xLzIlDz*p13oEZKx4^tvEs zycs3<=1||^3AA1xH!cmkVKIwSNb@&NrxumszsZJumA7nuv{Z0hy1(6RoW6U%W3 zb41|9#QU67lo{&{?`=JS^5heuU#Fmo1n3jQ90o24w^vUn*z#{vXx=_re#Z%LEV85> zK8{moBEjORE5AhYwHy+m(HvBKv`?uRiPbQ%ociZe zb3jSImv_q8-y)I<^J?fuP*Au;MzoipLV)j>ch>f%U9u$LA($kq1PD})hxU?p85=+-}#20>>!TJk~|=1p@;HUh)W851X^txJZ5Pqcqm|5m|BA0s+m@zv54=Q1(-h&xCGTi3wpw-n$5{G zi>a$=_0`03v;z0=qTw{(O~t~)r1G}N8oZ=Jtj|wgjWF#?!_up79TwcJ>Bk>ty)N%1 z*Y$+ztxTlE-72^d3TK4lt&oOz#SE5Ho$z-hMNv>m01jbOYC(O{pH=8Z4hM@65!bp* zwsFF)cq5}21aB#eg!=-pQ{muwJ4CGTpc~3@hrxZ80msg=a4=^zR4jVEg22Ce9nZ>O zi?GCCoe(6M0=LYuAgia&;2;;8TAsU?koOs^jsf9lr-rn+eplfjyW)9n8R%ejsL~&5 z)wj+q!cCyCxbU)|yFhoN0IyvMT1=s7>y1(HDl2%~6)PMrT+NfC(YfPR#HN=Wb>b4) z&@t;AEqdhMRAhL8JMwU;znP0+)j^2tBJUhzzS9MU2jdSXJ{sT6{w2PR@BmfqLfM22 z^5KGrMTZjp4)iX-4rqF8m<|}F)lnRR7gOKKXeb~8m$M?sCDjA8d>ZGm z<8@v7%Q)%KpD>3Ca>B^mTohniibaITjJa2}ONN=vJC#w`4PEqra#22}S!bJO1)%{8 zRhCyR;Zp-o(!tlZ2#I#a zhz8eC0kT;|1S3?wr39EpBev4(54W_l+pNo6y6veS#*b6AiI!BCp0ICtJ}D;lB|X8V zqaK17zwnBWe;4Zp@bZ}qjDv=Q z>#pwE$fmBV_#{b!&mz$?SBY^B2^W-Bu#g27&^>ti(-T6qvmNrE6vYs)v}N%(LERr; zii9qIN}YbRf!XEGmW#4XuT>Y%C#^v(MW$BLq6^pgWJg+5j9>nya#jZc3|mi5FCoh- z7)nQ$2}HiXj9SzP$ols6w#Zq;coDGiYLVcS5`tr7MuJRYB{o;qv>37+Z3rNStt<>l z3r0zY=M-ARqi=0ox|;#Qb_EUXpr%&z6Z3-oW0c$a6TuDQN{R30)wmguM0P;;Pu*;KJ`?~BBgQhT6B{#)55Z_(OyNUWqg{<^W z>kY(nikWK;YHx;~@U+OXGtKIx@aDa|>bSGs0BLI=KLq&6ucSu_;J|yin@1`4%P-F< z{e8qMUo4cMJ!WQw$S_X>+KXy*X-fWqV9|$dg5-PRz^zv)CP4 z^2jyli15S7=t&BlBC5xtazQNU;qk?2`$O1{Jl4xH=~L(|yh=vr8V-{o0tNnWb#drV z&cakW_;-R22qbC{D0Zn*@Vm?>O+8bbCV?}t6eD}h$n?lFH^Rq|(h(Qpi?pB;cCNdM^x7wszE#V5;K8c8bWFQue!{CUb zs8IkXs1%zNj+#iGPViRj){<3c{8G?V*-PNb`lB_2AXMT-$fcKLF)DD-^AG3sFNV>= zBucTktus(Z(UXy7ShtKj1zY3Tw9SG)>ccp08@Cp04(-~&SHsI+$Mr@g*1cpRH?pUl z!+3I{2XglSlDHZ4LBx*1N5nhgWt=nmmICL^pJ2I4V0UQqcO&+tC!UD%oh; xa^DQx=YAh{YZ9!AZs44HT2WzegD$o$M=T^Kjy&y=Nxz) zFFq-c2Pcn1M?R`tUfr0d$Dtd~*Tv_!j`P&Hk%Gl#-xBodG`O)qH2#iUe0|`K>-D-G zHU8pw0{lAEuaXOOs1uFqlIR<5>QN8G;0w?n=`f_k9IuN`m5?-A@S7!rB_x6dNjKar zCm)AQ5}uiWJym3nO%uVuYZ@Pw1s{!OjwE6F)h+isUJ}w;UdIV7N<;?B7e^>WGL$GOo>a*| z^He?(zv}r3=Dj8aIrY$-G7Ah8EsugCH(7xdd-r3I3ZdOmm-E(gKCV-Vmthx7h=NHH zj0arG8qx5Y87g;#5F*AR;8VK0c_+7yOH;!Acc$siVdr6 zrBO>0k`j7UL<(Td)5qDPMa~I}T;M3s*RxkggJ}vkPkGiUm}nL7TSxkx2b@xI_O%Yp zGdKsq+JHvqg*^{j&u~sT(7%UM9V*L^vaH2cQw-5GK}TytUwz^ZvDqO9Zaq{F%^zJ9 zAE^CZ%(93bc*H%3N5iwJBmmDeBmLU0B+;o|Z4xe@9e#j)ZjfZ{xyk~q)QZS%A6fp| zW;ibuuzpbS8Qs0Cy+Y2OVkVIw5B2yY=iumq5S70zB^)HabZD@eTKX(<7R+R;Hm%>>%0$vQZ33wOJ<7#_H7K2>k<)#UA ze1e6%0-T(J-gMNJL|(Y4u~j*g0L)rsa57;-H_sOZ&A`!4ajcRaZe}-0$Ua6((J^x8 zqUU2t+|C9Ry2niB5d_kqQAus9HYInWp@gvo2r9r09#qunA5UP18x5tz@^s%@8Tft0 zVH*mzP*_A===(@`NwJGO_{IMTqxbrVi?JUQ4uI=(1+eyeCjPYwv^bVUQWD)5Qpcs-xcd`n78s8QGj>Q;1( z92HIZ!~k+3n&WuNfiHx_N+QjsvC@DQ4lRwGs7{NFK%|xLzIlDz*p13oEZKx4^tvEs zycs3<=1||^3AA1xH!cmkVKIwSNb@&NrxumszsZJumA7nuv{Z0hy1(6RoW6U%W3 zb41|9#QU67lo{&{?`=JS^5heuU#Fmo1n3jQ90o24w^vUn*z#{vXx=_re#Z%LEV85> zK8{moBEjORE5AhYwHy+m(HvBKv`?uRiPbQ%ociZe zb3jSImv_q8-y)I<^J?fuP*Au;MzoipLV)j>ch>f%U9u$LA($kq1PD})hxU?p85=+-}#20>>!TJk~|=1p@;HUh)W851X^txJZ5Pqcqm|5m|BA0s+m@zv54=Q1(-h&xCGTi3wpw-n$5{G zi>a$=_0`03v;z0=qTw{(O~t~)r1G}N8oZ=Jtj|wgjWF#?!_up79TwcJ>Bk>ty)N%1 z*Y$+ztxTlE-72^d3TK4lt&oOz#SE5Ho$z-hMNv>m01jbOYC(O{pH=8Z4hM@65!bp* zwsFF)cq5}21aB#eg!=-pQ{muwJ4CGTpc~3@hrxZ80msg=a4=^zR4jVEg22Ce9nZ>O zi?GCCoe(6M0=LYuAgia&;2;;8TAsU?koOs^jsf9lr-rn+eplfjyW)9n8R%ejsL~&5 z)wj+q!cCyCxbU)|yFhoN0IyvMT1=s7>y1(HDl2%~6)PMrT+NfC(YfPR#HN=Wb>b4) z&@t;AEqdhMRAhL8JMwU;znP0+)j^2tBJUhzzS9MU2jdSXJ{sT6{w2PR@BmfqLfM22 z^5KGrMTZjp4)iX-4rqF8m<|}F)lnRR7gOKKXeb~8m$M?sCDjA8d>ZGm z<8@v7%Q)%KpD>3Ca>B^mTohniibaITjJa2}ONN=vJC#w`4PEqra#22}S!bJO1)%{8 zRhCyR;Zp-o(!tlZ2#I#a zhz8eC0kT;|1S3?wr39EpBev4(54W_l+pNo6y6veS#*b6AiI!BCp0ICtJ}D;lB|X8V zqaK17zwnBWe;4Zp@bZ}qjDv=Q z>#pwE$fmBV_#{b!&mz$?SBY^B2^W-Bu#g27&^>ti(-T6qvmNrE6vYs)v}N%(LERr; zii9qIN}YbRf!XEGmW#4XuT>Y%C#^v(MW$BLq6^pgWJg+5j9>nya#jZc3|mi5FCoh- z7)nQ$2}HiXj9SzP$ols6w#Zq;coDGiYLVcS5`tr7MuJRYB{o;qv>37+Z3rNStt<>l z3r0zY=M-ARqi=0ox|;#Qb_EUXpr%&z6Z3-oW0c$a6TuDQN{R30)wmguM0P;;Pu*;KJ`?~BBgQhT6B{#)55Z_(OyNUWqg{<^W z>kY(nikWK;YHx;~@U+OXGtKIx@aDa|>bSGs0BLI=KLq&6ucSu_;J|yin@1`4%P-F< z{e8qMUo4cMJ!WQw$S_X>+KXy*X-fWqV9|$dg5-PRz^zv)CP4 z^2jyli15S7=t&BlBC5xtazQNU;qk?2`$O1{Jl4xH=~L(|yh=vr8V-{o0tNnWb#drV z&cakW_;-R22qbC{D0Zn*@Vm?>O+8bbCV?}t6eD}h$n?lFH^Rq|(h(Qpi?pB;cCNdM^x7wszE#V5;K8c8bWFQue!{CUb zs8IkXs1%zNj+#iGPViRj){<3c{8G?V*-PNb`lB_2AXMT-$fcKLF)DD-^AG3sFNV>= zBucTktus(Z(UXy7ShtKj1zY3Tw9SG)>ccp08@Cp04(-~&SHsI+$Mr@g*1cpRH?pUl z!+3I{2XglSlDHZ4LBx*1N5nhgWt=nmmICL^pJ2I4V0UQqcO&+tC!UD%oh; xa^DQx=YAh{YZ9!AZs44HT2Wz Date: Fri, 16 Sep 2016 10:03:40 -0700 Subject: [PATCH 12/45] cleaned up bitmap helper --- .../lib/bitmapFileHelper.js | 26 ------------------- 1 file changed, 26 deletions(-) diff --git a/bitmap-destruction-force/lib/bitmapFileHelper.js b/bitmap-destruction-force/lib/bitmapFileHelper.js index 8849206..35154fa 100644 --- a/bitmap-destruction-force/lib/bitmapFileHelper.js +++ b/bitmap-destruction-force/lib/bitmapFileHelper.js @@ -4,30 +4,4 @@ const fs = require('fs'); const buf = fs.readFileSync('../../assets/bitmap.bmp'); -//Find file size -console.log('file size',(buf.readUInt32LE(2)) ); - -//Offset Starts here -console.log('pixel array offset(pixel array starts here)', buf.readUInt32LE(10)); - -//Color array size in bytes -console.log('size of color array in bytes (subtracting the header stuff)', (1078 - 54)); - -//Total number of indices in ColorArray -console.log('total number of colors in color array', ((1078 - 54)/4)); - -var colorArray; -colorArray = buf.slice(54, 1078); - -var currentColor; - -for (var i = 0; i < 1024;i += 4){ - currentColor = colorArray.slice(i, i+4); - console.log('B' + currentColor[0] + ' + ' + 'G' + currentColor[1] + ' + ' + 'R' + currentColor[2] + ' + ' + 'A' + currentColor[3]); - currentColor[0] = 10-i; - currentColor[1] = 30-i; - currentColor[2] = 84-i; - currentColor[3] = 0; -} - fs.writeFileSync('./newfile.bmp', buf); From e751f8e736d4f2d6ff47bef40727b575e0f5eb09 Mon Sep 17 00:00:00 2001 From: Peter Kim Date: Fri, 16 Sep 2016 10:24:06 -0700 Subject: [PATCH 13/45] added readFile to bitMapFileHelper got data back --- bitmap-destruction-force/lib/bitmapFileHelper.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/bitmap-destruction-force/lib/bitmapFileHelper.js b/bitmap-destruction-force/lib/bitmapFileHelper.js index 35154fa..efd4ea6 100644 --- a/bitmap-destruction-force/lib/bitmapFileHelper.js +++ b/bitmap-destruction-force/lib/bitmapFileHelper.js @@ -2,6 +2,17 @@ const fs = require('fs'); -const buf = fs.readFileSync('../../assets/bitmap.bmp'); +//const buf = fs.readFileSync('../../assets/bitmap.bmp'); -fs.writeFileSync('./newfile.bmp', buf); +var buf; + +module.exports = function(callback) { + fs.readFile(`${__dirname}/../../assets/bitmap.bmp`, function(err, data){ + buf = data; + console.log('buf',buf); + }); +} + +module.exports(); + +//fs.writeFileSync('./newfile.bmp', buf); From b3edc921393c6eb6b8ec18d5b002dc7ee357b4ef Mon Sep 17 00:00:00 2001 From: Peter Kim Date: Fri, 16 Sep 2016 18:06:35 -0700 Subject: [PATCH 14/45] modularized color changing functionality --- bitmap-destruction-force/index.js | 23 +++++++++++++++--- .../lib/bitmapFileHelper.js | 7 ++++-- .../model/bitmapConstructor.js | 20 +++++++++------ bitmap-destruction-force/newfile.bmp | Bin 0 -> 11078 bytes 4 files changed, 36 insertions(+), 14 deletions(-) create mode 100644 bitmap-destruction-force/newfile.bmp diff --git a/bitmap-destruction-force/index.js b/bitmap-destruction-force/index.js index dbedaa7..39e5001 100644 --- a/bitmap-destruction-force/index.js +++ b/bitmap-destruction-force/index.js @@ -1,8 +1,23 @@ 'use strict'; -const buf = fs.readFileSync('../../assets/bitmap.bmp'); +const fs = require('fs'); +//const buf = fs.readFileSync('../../assets/bitmap.bmp'); -call the readSync to get the file and then have the properties to output to -call the constructor and have the properties to output to -call the write to write the resulting thing +const Transformer = require('./model/bitmapConstructor.js'); + +const bitmapFileHelper = require('./lib/bitmapFileHelper.js'); + +console.log('first'); + +bitmapFileHelper(Transformer); + +// call the readSync to get the file and then have the properties to output to +// call the constructor and have the properties to output to +// call the write to write the resulting thing +//attach function to module + +// readfile(greenDuck) +//greenDuck = function(buf) { +// +//} diff --git a/bitmap-destruction-force/lib/bitmapFileHelper.js b/bitmap-destruction-force/lib/bitmapFileHelper.js index efd4ea6..52806d5 100644 --- a/bitmap-destruction-force/lib/bitmapFileHelper.js +++ b/bitmap-destruction-force/lib/bitmapFileHelper.js @@ -2,6 +2,8 @@ const fs = require('fs'); +const Transformer = require('../model/bitmapConstructor.js'); + //const buf = fs.readFileSync('../../assets/bitmap.bmp'); var buf; @@ -10,9 +12,10 @@ module.exports = function(callback) { fs.readFile(`${__dirname}/../../assets/bitmap.bmp`, function(err, data){ buf = data; console.log('buf',buf); + console.log('second'); + callback(buf); }); } - -module.exports(); +//module.exports(); //fs.writeFileSync('./newfile.bmp', buf); diff --git a/bitmap-destruction-force/model/bitmapConstructor.js b/bitmap-destruction-force/model/bitmapConstructor.js index 40336fe..bc20f4e 100644 --- a/bitmap-destruction-force/model/bitmapConstructor.js +++ b/bitmap-destruction-force/model/bitmapConstructor.js @@ -2,22 +2,21 @@ const fs = require('fs'); -const buf = fs.readFileSync('../../assets/bitmap.bmp'); +//const bitmapFileHelper = require('../lib/bitmapFileHelper.js') -function Transformer(){ +const Transformer = function(buf){ this.filesize = buf.readUInt32LE(2); this.offset = buf.readUInt32LE(10); this.colorArray = buf.slice(54, 1078); } -var duck = new Transformer(); -console.log(duck); - -Transformer.prototype.turnGreen = function(){ +Transformer.prototype.turnGreen = function(buf){ + console.log('fourth'); + console.log(buf); var currentColor; for (var i = 0;i < 1024;i += 4){ currentColor = this.colorArray.slice(i, i+4); - console.log('B' + currentColor[0] + ' + ' + 'G' + currentColor[1] + ' + ' + 'R' + currentColor[2] + ' + ' + 'A' + currentColor[3]); + //console.log('B' + currentColor[0] + ' + ' + 'G' + currentColor[1] + ' + ' + 'R' + currentColor[2] + ' + ' + 'A' + currentColor[3]); currentColor[0] = 0; currentColor[1] = 255; currentColor[2] = 0; @@ -25,8 +24,13 @@ Transformer.prototype.turnGreen = function(){ } fs.writeFileSync('./newfile.bmp', buf); } +module.exports = function greenDuck(buf){ + console.log('third'); + console.log(buf); + var duck = new Transformer(buf); + duck.turnGreen(buf); -duck.turnGreen(); +} // function BitmapConstructor(buf) { // this.filesize = buf.readUInt32LE(2); // this.offset = buf.readUInt32LE(10); diff --git a/bitmap-destruction-force/newfile.bmp b/bitmap-destruction-force/newfile.bmp new file mode 100644 index 0000000000000000000000000000000000000000..1702b30595877b868f795924f65864c86f27d483 GIT binary patch literal 11078 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 literal 0 HcmV?d00001 From 2183cff95fba23cb2da4091a01b693ba12df726c Mon Sep 17 00:00:00 2001 From: Peter Kim Date: Fri, 16 Sep 2016 19:00:07 -0700 Subject: [PATCH 15/45] got write file added into bitmapHelper --- .../lib/bitmapFileHelper.js | 4 +++- .../model/bitmapConstructor.js | 1 - bitmap-destruction-force/newfile.bmp | Bin 11078 -> 11078 bytes 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/bitmap-destruction-force/lib/bitmapFileHelper.js b/bitmap-destruction-force/lib/bitmapFileHelper.js index 52806d5..1a0e23d 100644 --- a/bitmap-destruction-force/lib/bitmapFileHelper.js +++ b/bitmap-destruction-force/lib/bitmapFileHelper.js @@ -14,8 +14,10 @@ module.exports = function(callback) { console.log('buf',buf); console.log('second'); callback(buf); + fs.writeFile('./newfile.bmp', buf); }); } -//module.exports(); + + //fs.writeFileSync('./newfile.bmp', buf); diff --git a/bitmap-destruction-force/model/bitmapConstructor.js b/bitmap-destruction-force/model/bitmapConstructor.js index bc20f4e..eb8ad65 100644 --- a/bitmap-destruction-force/model/bitmapConstructor.js +++ b/bitmap-destruction-force/model/bitmapConstructor.js @@ -22,7 +22,6 @@ Transformer.prototype.turnGreen = function(buf){ currentColor[2] = 0; currentColor[3] = 0; } - fs.writeFileSync('./newfile.bmp', buf); } module.exports = function greenDuck(buf){ console.log('third'); diff --git a/bitmap-destruction-force/newfile.bmp b/bitmap-destruction-force/newfile.bmp index 1702b30595877b868f795924f65864c86f27d483..9890e14465f17946933c8091d15ec3d5617c46ba 100644 GIT binary patch delta 18 acmX>Wb}Vdy*+%Ej%oF{1H=D5tr~?2{BnJ5a delta 18 acmX>Wb}Vdy*+$2&%oF{%H=D5tr~?2{76$hK From 485f952b38ecd5e5874eebc7b94c91555e029fdb Mon Sep 17 00:00:00 2001 From: Peter Kim Date: Fri, 16 Sep 2016 19:08:30 -0700 Subject: [PATCH 16/45] made bitmap helper able to export multiple functions --- bitmap-destruction-force/index.js | 2 +- .../lib/bitmapFileHelper.js | 6 ++++-- bitmap-destruction-force/newfile.bmp | Bin 11078 -> 0 bytes 3 files changed, 5 insertions(+), 3 deletions(-) delete mode 100644 bitmap-destruction-force/newfile.bmp diff --git a/bitmap-destruction-force/index.js b/bitmap-destruction-force/index.js index 39e5001..afc2cb0 100644 --- a/bitmap-destruction-force/index.js +++ b/bitmap-destruction-force/index.js @@ -10,7 +10,7 @@ const bitmapFileHelper = require('./lib/bitmapFileHelper.js'); console.log('first'); -bitmapFileHelper(Transformer); +bitmapFileHelper.turnGreen(Transformer); // call the readSync to get the file and then have the properties to output to // call the constructor and have the properties to output to diff --git a/bitmap-destruction-force/lib/bitmapFileHelper.js b/bitmap-destruction-force/lib/bitmapFileHelper.js index 1a0e23d..d5df8d9 100644 --- a/bitmap-destruction-force/lib/bitmapFileHelper.js +++ b/bitmap-destruction-force/lib/bitmapFileHelper.js @@ -4,11 +4,13 @@ const fs = require('fs'); const Transformer = require('../model/bitmapConstructor.js'); +module.exports = exports = {}; + //const buf = fs.readFileSync('../../assets/bitmap.bmp'); var buf; -module.exports = function(callback) { +exports.turnGreen = function(callback) { fs.readFile(`${__dirname}/../../assets/bitmap.bmp`, function(err, data){ buf = data; console.log('buf',buf); @@ -16,7 +18,7 @@ module.exports = function(callback) { callback(buf); fs.writeFile('./newfile.bmp', buf); }); -} +}; diff --git a/bitmap-destruction-force/newfile.bmp b/bitmap-destruction-force/newfile.bmp deleted file mode 100644 index 9890e14465f17946933c8091d15ec3d5617c46ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11078 zcmeI1O|s)Q5`^i9S(sr)$l--n+RsGH-Upb)?0gH~{|cV`GOO@Isrz|9jg~+VBr+?r z0FZk9pFjTl@5ANye;miZ)cUi&KOH~2|JQ#W$8W#nd;Fv>egD$o$M=T^Kjy&y=Nxz) zFFq-c2Pcn1M?R`tUfr0d$Dtd~*Tv_!j`P&Hk%Gl#-xBodG`O)qH2#iUe0|`K>-D-G zHU8pw0{lAEuaXOOs1uFqlIR<5>QN8G;0w?n=`f_k9IuN`m5?-A@S7!rB_x6dNjKar zCm)AQ5}uiWJym3nO%uVuYZ@Pw1s{!OjwE6F)h+isUJ}w;UdIV7N<;?B7e^>WGL$GOo>a*| z^He?(zv}r3=Dj8aIrY$-G7Ah8EsugCH(7xdd-r3I3ZdOmm-E(gKCV-Vmthx7h=NHH zj0arG8qx5Y87g;#5F*AR;8VK0c_+7yOH;!Acc$siVdr6 zrBO>0k`j7UL<(Td)5qDPMa~I}T;M3s*RxkggJ}vkPkGiUm}nL7TSxkx2b@xI_O%Yp zGdKsq+JHvqg*^{j&u~sT(7%UM9V*L^vaH2cQw-5GK}TytUwz^ZvDqO9Zaq{F%^zJ9 zAE^CZ%(93bc*H%3N5iwJBmmDeBmLU0B+;o|Z4xe@9e#j)ZjfZ{xyk~q)QZS%A6fp| zW;ibuuzpbS8Qs0Cy+Y2OVkVIw5B2yY=iumq5S70zB^)HabZD@eTKX(<7R+R;Hm%>>%0$vQZ33wOJ<7#_H7K2>k<)#UA ze1e6%0-T(J-gMNJL|(Y4u~j*g0L)rsa57;-H_sOZ&A`!4ajcRaZe}-0$Ua6((J^x8 zqUU2t+|C9Ry2niB5d_kqQAus9HYInWp@gvo2r9r09#qunA5UP18x5tz@^s%@8Tft0 zVH*mzP*_A===(@`NwJGO_{IMTqxbrVi?JUQ4uI=(1+eyeCjPYwv^bVUQWD)5Qpcs-xcd`n78s8QGj>Q;1( z92HIZ!~k+3n&WuNfiHx_N+QjsvC@DQ4lRwGs7{NFK%|xLzIlDz*p13oEZKx4^tvEs zycs3<=1||^3AA1xH!cmkVKIwSNb@&NrxumszsZJumA7nuv{Z0hy1(6RoW6U%W3 zb41|9#QU67lo{&{?`=JS^5heuU#Fmo1n3jQ90o24w^vUn*z#{vXx=_re#Z%LEV85> zK8{moBEjORE5AhYwHy+m(HvBKv`?uRiPbQ%ociZe zb3jSImv_q8-y)I<^J?fuP*Au;MzoipLV)j>ch>f%U9u$LA($kq1PD})hxU?p85=+-}#20>>!TJk~|=1p@;HUh)W851X^txJZ5Pqcqm|5m|BA0s+m@zv54=Q1(-h&xCGTi3wpw-n$5{G zi>a$=_0`03v;z0=qTw{(O~t~)r1G}N8oZ=Jtj|wgjWF#?!_up79TwcJ>Bk>ty)N%1 z*Y$+ztxTlE-72^d3TK4lt&oOz#SE5Ho$z-hMNv>m01jbOYC(O{pH=8Z4hM@65!bp* zwsFF)cq5}21aB#eg!=-pQ{muwJ4CGTpc~3@hrxZ80msg=a4=^zR4jVEg22Ce9nZ>O zi?GCCoe(6M0=LYuAgia&;2;;8TAsU?koOs^jsf9lr-rn+eplfjyW)9n8R%ejsL~&5 z)wj+q!cCyCxbU)|yFhoN0IyvMT1=s7>y1(HDl2%~6)PMrT+NfC(YfPR#HN=Wb>b4) z&@t;AEqdhMRAhL8JMwU;znP0+)j^2tBJUhzzS9MU2jdSXJ{sT6{w2PR@BmfqLfM22 z^5KGrMTZjp4)iX-4rqF8m<|}F)lnRR7gOKKXeb~8m$M?sCDjA8d>ZGm z<8@v7%Q)%KpD>3Ca>B^mTohniibaITjJa2}ONN=vJC#w`4PEqra#22}S!bJO1)%{8 zRhCyR;Zp-o(!tlZ2#I#a zhz8eC0kT;|1S3?wr39EpBev4(54W_l+pNo6y6veS#*b6AiI!BCp0ICtJ}D;lB|X8V zqaK17zwnBWe;4Zp@bZ}qjDv=Q z>#pwE$fmBV_#{b!&mz$?SBY^B2^W-Bu#g27&^>ti(-T6qvmNrE6vYs)v}N%(LERr; zii9qIN}YbRf!XEGmW#4XuT>Y%C#^v(MW$BLq6^pgWJg+5j9>nya#jZc3|mi5FCoh- z7)nQ$2}HiXj9SzP$ols6w#Zq;coDGiYLVcS5`tr7MuJRYB{o;qv>37+Z3rNStt<>l z3r0zY=M-ARqi=0ox|;#Qb_EUXpr%&z6Z3-oW0c$a6TuDQN{R30)wmguM0P;;Pu*;KJ`?~BBgQhT6B{#)55Z_(OyNUWqg{<^W z>kY(nikWK;YHx;~@U+OXGtKIx@aDa|>bSGs0BLI=KLq&6ucSu_;J|yin@1`4%P-F< z{e8qMUo4cMJ!WQw$S_X>+KXy*X-fWqV9|$dg5-PRz^zv)CP4 z^2jyli15S7=t&BlBC5xtazQNU;qk?2`$O1{Jl4xH=~L(|yh=vr8V-{o0tNnWb#drV z&cakW_;-R22qbC{D0Zn*@Vm?>O+8bbCV?}t6eD}h$n?lFH^Rq|(h(Qpi?pB;cCNdM^x7wszE#V5;K8c8bWFQue!{CUb zs8IkXs1%zNj+#iGPViRj){<3c{8G?V*-PNb`lB_2AXMT-$fcKLF)DD-^AG3sFNV>= zBucTktus(Z(UXy7ShtKj1zY3Tw9SG)>ccp08@Cp04(-~&SHsI+$Mr@g*1cpRH?pUl z!+3I{2XglSlDHZ4LBx*1N5nhgWt=nmmICL^pJ2I4V0UQqcO&+tC!UD%oh; xa^DQx=YAh{YZ9!AZs44HT2Wz Date: Fri, 16 Sep 2016 20:01:46 -0700 Subject: [PATCH 17/45] inverted constructor is not working. --- bitmap-destruction-force/green-bitmap.bmp | Bin 0 -> 11078 bytes bitmap-destruction-force/index.js | 5 ++- bitmap-destruction-force/inverted-bitmap.bmp | Bin 0 -> 11078 bytes .../lib/bitmapFileHelper.js | 19 ++++++++-- .../model/bitmapConstructor.js | 8 ++-- .../model/grayscale-constructor.js | 35 ++++++++++++++++++ .../model/inverse-constructor.js | 31 ++++++++++++++++ 7 files changed, 89 insertions(+), 9 deletions(-) create mode 100644 bitmap-destruction-force/green-bitmap.bmp create mode 100644 bitmap-destruction-force/inverted-bitmap.bmp create mode 100644 bitmap-destruction-force/model/grayscale-constructor.js create mode 100644 bitmap-destruction-force/model/inverse-constructor.js diff --git a/bitmap-destruction-force/green-bitmap.bmp b/bitmap-destruction-force/green-bitmap.bmp new file mode 100644 index 0000000000000000000000000000000000000000..1702b30595877b868f795924f65864c86f27d483 GIT binary patch literal 11078 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 literal 0 HcmV?d00001 diff --git a/bitmap-destruction-force/index.js b/bitmap-destruction-force/index.js index afc2cb0..7a78faa 100644 --- a/bitmap-destruction-force/index.js +++ b/bitmap-destruction-force/index.js @@ -5,12 +5,13 @@ const fs = require('fs'); //const buf = fs.readFileSync('../../assets/bitmap.bmp'); const Transformer = require('./model/bitmapConstructor.js'); +const Inverter = require('./model/inverse-constructor.js'); const bitmapFileHelper = require('./lib/bitmapFileHelper.js'); -console.log('first'); - bitmapFileHelper.turnGreen(Transformer); +bitmapFileHelper.invertColor(Inverter); +// bitmapFileHelper.grayScale(Transformer); // call the readSync to get the file and then have the properties to output to // call the constructor and have the properties to output to diff --git a/bitmap-destruction-force/inverted-bitmap.bmp b/bitmap-destruction-force/inverted-bitmap.bmp new file mode 100644 index 0000000000000000000000000000000000000000..d835124ae712ff2c2b3374af2d7eddf96fca5b4f GIT binary patch literal 11078 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 Date: Fri, 16 Sep 2016 20:11:52 -0700 Subject: [PATCH 18/45] grayscale function is working but need to logic to finish --- bitmap-destruction-force/grayscale-bitmap.bmp | Bin 0 -> 11078 bytes bitmap-destruction-force/index.js | 3 ++- .../model/grayscale-constructor.js | 19 +++++++----------- 3 files changed, 9 insertions(+), 13 deletions(-) create mode 100644 bitmap-destruction-force/grayscale-bitmap.bmp diff --git a/bitmap-destruction-force/grayscale-bitmap.bmp b/bitmap-destruction-force/grayscale-bitmap.bmp new file mode 100644 index 0000000000000000000000000000000000000000..f0b75e5f28bb8eeb6a1e192d76c063a4545dbec6 GIT binary patch literal 11078 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 Date: Sun, 18 Sep 2016 13:30:31 -0700 Subject: [PATCH 19/45] Cleaned up index.js. --- bitmap-destruction-force/index.js | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/bitmap-destruction-force/index.js b/bitmap-destruction-force/index.js index 0b7d792..342592b 100644 --- a/bitmap-destruction-force/index.js +++ b/bitmap-destruction-force/index.js @@ -1,9 +1,5 @@ 'use strict'; -const fs = require('fs'); - -//const buf = fs.readFileSync('../../assets/bitmap.bmp'); - const Transformer = require('./model/bitmapConstructor.js'); const Inverter = require('./model/inverse-constructor.js'); const GrayScale = require('./model/grayscale-constructor.js'); @@ -13,13 +9,3 @@ const bitmapFileHelper = require('./lib/bitmapFileHelper.js'); bitmapFileHelper.turnGreen(Transformer); bitmapFileHelper.invertColor(Inverter); bitmapFileHelper.grayScale(GrayScale); - -// call the readSync to get the file and then have the properties to output to -// call the constructor and have the properties to output to -// call the write to write the resulting thing -//attach function to module - -// readfile(greenDuck) -//greenDuck = function(buf) { -// -//} From 6559475f5d6d223a1e92dcfd7571b1e34dc8926b Mon Sep 17 00:00:00 2001 From: Lee Broxson Date: Sun, 18 Sep 2016 13:39:20 -0700 Subject: [PATCH 20/45] Cleaned up the bitmapConstructor.js file and refactored unnecessary code. --- bitmap-destruction-force/grayscale-bitmap.bmp | Bin 11078 -> 0 bytes bitmap-destruction-force/green-bitmap.bmp | Bin 11078 -> 0 bytes bitmap-destruction-force/inverted-bitmap.bmp | Bin 11078 -> 0 bytes .../lib/bitmapFileHelper.js | 2 - .../model/bitmapConstructor.js | 103 +++--------------- 5 files changed, 15 insertions(+), 90 deletions(-) delete mode 100644 bitmap-destruction-force/grayscale-bitmap.bmp delete mode 100644 bitmap-destruction-force/green-bitmap.bmp delete mode 100644 bitmap-destruction-force/inverted-bitmap.bmp diff --git a/bitmap-destruction-force/grayscale-bitmap.bmp b/bitmap-destruction-force/grayscale-bitmap.bmp deleted file mode 100644 index f0b75e5f28bb8eeb6a1e192d76c063a4545dbec6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11078 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 diff --git a/bitmap-destruction-force/inverted-bitmap.bmp b/bitmap-destruction-force/inverted-bitmap.bmp deleted file mode 100644 index d835124ae712ff2c2b3374af2d7eddf96fca5b4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11078 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 Date: Sun, 18 Sep 2016 13:43:49 -0700 Subject: [PATCH 21/45] Cleaned up inverse constructor and refactored unnecessary code. --- .../model/inverse-constructor.js | 37 ++++++++----------- 1 file changed, 15 insertions(+), 22 deletions(-) diff --git a/bitmap-destruction-force/model/inverse-constructor.js b/bitmap-destruction-force/model/inverse-constructor.js index 94f8561..6dc6203 100644 --- a/bitmap-destruction-force/model/inverse-constructor.js +++ b/bitmap-destruction-force/model/inverse-constructor.js @@ -1,31 +1,24 @@ 'use strict'; -const fs = require('fs'); - -module.exports = exports = {}; -//const bitmapFileHelper = require('../lib/bitmapFileHelper.js') +module.exports = function invertDuck(buf){ + var duck = new Inverter(buf); + duck.invertColor(buf); +}; const Inverter = function(buf){ this.filesize = buf.readUInt32LE(2); this.offset = buf.readUInt32LE(10); this.colorArray = buf.slice(54, 1078); -} - +}; -Inverter.prototype.invertColor = function(buf){ +Inverter.prototype.invertColor = function(){ var currentColor; - for (var i = 0;i < 1024;i += 4){ - currentColor = this.colorArray.slice(i, i+4); - //console.log('B' + currentColor[0] + ' + ' + 'G' + currentColor[1] + ' + ' + 'R' + currentColor[2] + ' + ' + 'A' + currentColor[3]); - currentColor[0] = 255 - currentColor[0]; - currentColor[1] = 255 - currentColor[1]; - currentColor[2] = 255 - currentColor[2]; - currentColor[3] = 0; - } -} - -module.exports = function invertDuck(buf){ - var duck = new Inverter(buf); - duck.invertColor(buf); - -} + for (var i = 0;i < 1024;i += 4){ + currentColor = this.colorArray.slice(i, i+4); + //console.log('B' + currentColor[0] + ' + ' + 'G' + currentColor[1] + ' + ' + 'R' + currentColor[2] + ' + ' + 'A' + currentColor[3]); + currentColor[0] = 255 - currentColor[0]; + currentColor[1] = 255 - currentColor[1]; + currentColor[2] = 255 - currentColor[2]; + currentColor[3] = 0; + } +}; From 95ef9d9db959971fcfb4156214869dc00b9afa34 Mon Sep 17 00:00:00 2001 From: Lee Broxson Date: Sun, 18 Sep 2016 13:46:33 -0700 Subject: [PATCH 22/45] Cleaned up Grayscale constructor and refactored unnecessary code. --- .../model/grayscale-constructor.js | 35 ++++++++----------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/bitmap-destruction-force/model/grayscale-constructor.js b/bitmap-destruction-force/model/grayscale-constructor.js index 9015a8d..652b0f0 100644 --- a/bitmap-destruction-force/model/grayscale-constructor.js +++ b/bitmap-destruction-force/model/grayscale-constructor.js @@ -1,30 +1,23 @@ 'use strict'; -const fs = require('fs'); - -module.exports = exports = {}; -//const bitmapFileHelper = require('../lib/bitmapFileHelper.js') +module.exports = function grayScale(buf){ + var duck = new GrayScale(buf); + duck.grayScale(buf); +}; const GrayScale = function(buf){ this.filesize = buf.readUInt32LE(2); this.offset = buf.readUInt32LE(10); this.colorArray = buf.slice(54, 1078); -} - +}; -GrayScale.prototype.grayScale = function(buf){ +GrayScale.prototype.grayScale = function(){ var currentColor; - for (var i = 0;i < 1024;i += 4){ - currentColor = this.colorArray.slice(i, i+4); - currentColor[0] = 0; - currentColor[1] = 0; - currentColor[2] = 255; - currentColor[3] = 0; - } -} - -module.exports = function grayScale(buf){ - var duck = new GrayScale(buf); - duck.grayScale(buf); - -} + for (var i = 0;i < 1024;i += 4){ + currentColor = this.colorArray.slice(i, i+4); + currentColor[0] = 0; + currentColor[1] = 0; + currentColor[2] = 255; + currentColor[3] = 0; + } +}; From eacef6d2acdc8b75f2807a8da963320ff6f80d27 Mon Sep 17 00:00:00 2001 From: Lee Broxson Date: Sun, 18 Sep 2016 14:06:36 -0700 Subject: [PATCH 23/45] Created grayscale formula, got constructor working. --- bitmap-destruction-force/grayscale-bitmap.bmp | Bin 0 -> 11078 bytes bitmap-destruction-force/green-bitmap.bmp | Bin 0 -> 11078 bytes bitmap-destruction-force/inverted-bitmap.bmp | Bin 0 -> 11078 bytes .../model/grayscale-constructor.js | 7 ++++--- 4 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 bitmap-destruction-force/grayscale-bitmap.bmp create mode 100644 bitmap-destruction-force/green-bitmap.bmp create mode 100644 bitmap-destruction-force/inverted-bitmap.bmp diff --git a/bitmap-destruction-force/grayscale-bitmap.bmp b/bitmap-destruction-force/grayscale-bitmap.bmp new file mode 100644 index 0000000000000000000000000000000000000000..bd1b35ec469f4b6011729c489d0a957c8195d6b9 GIT binary patch literal 11078 zcmeI1vCb6B6@>dr4!rV6YdP3xb1XT(5F$%BL6%5JAVIQ@CArbNbB*YLPB3^(O z;Z1OTRi}G;X7}O`%PW^soc7CtKGSCr`@}EuRVG4q`iLqx_$WYp?&-It$qFawY`7;zP)_;vORnD ztlhtVzumoix81&dyFGaDpgn&4xV?M#u6_LYv3>dSrG5YYz5V#{qka1Hsl9pgragcD zyghvQu)TQkqCI-_sJ(srwtfEmxxISzsy%)BGy(joe>w2Wf&YsG=XU0kay)W!Y&!B$ z<#O(g^|UqJcsMV7+R_dOof|1wT=p$NuTFy-3q<2@k&CY%xMMk=mt&1zI355#H}$LJ zLLKTvqk2j79d6a59*Dsgpg+=KNQr6Zg-(@_bhO}imJF7V2pS~4;chv3Y%)oBW&-x0 zB71C_2nJrK@ljdu(P-vK5>~%@%l(d*gmf+Ec7PToB7 zcPVF0&}u<}7=tH#n?zGgd*I?ov|GTHi%hGqc-m3kiz5^w8A_BCPpV{~^He?(zv}f9 z%zaG=a_Xo#WfmAHS{?;OZn6R^_TG;{DulL2ozAZ zQ9_JnGA@jRz&Yq=B$hTXeO9HNdIIdo6?RA79tA06Bv5QvZ7UtMG$ARW zM@6In)_MAI?a?CVgheiJ6zI>hS4V?s3U{9Jtfyc_tAH;$((gRrl!~*jb!eW!ISA$k zG&(Qr^|0v~&M61_cXX;lWf@YIwb<1ZLo}_RqqRYwec}$W*&zpRJyb`{A6*n5sQqs; z%ObYGBkn;w8lFuh0eGev>DP88iB9colW_TL;Ro3D21(YQt1Qq;t%&S)%ktMY!+EKI z^@@t?=|0zGl>LwsK+Nc2S+amQTd;xgoDJF4h>dQOW#GQx26a&2_mc`ckJp- zQkGySP~i&}WTvf-eJzpk<)#zpcmfM~ z1-NnwdZVMRB=W*VjjhU|1Yp)AgOe3DbnE$~pfhl^Qyima?x|O zByMK|3f*HS^9Taz(5R%gRU0LHqM?Mb1qdp@9XzP0(?6cT4mTP~iRJ0Oi!$*06^Cso z*g|0ub)nx!!b^(vTuUqKiLxcp1ho_Z$7Jn9*4R00hO=I&&~(1eGe|m>ZcEfUOxW~! z$44A#VB)$7r#em?>>nLB6g|IHw4zrI2#|dyOvZO71 z9H-7ig2hu;eu?B}IV3`(IjHz(pHhujCW1a=gZ*SPc`)sXv`G z2bA=ExulH!T|`o0UJcz46cjFz5$z?Y5a1=|p0#_^U9u$LAy`Rf2@t5XqxO+f4Gatzc*#d1x1br_66mN#$|}h*|pL?p0W7rW@yGw?4>(ZC+S5rO%v@ zP%GhDg9{|0=+`%cauR5@Y4Dh(q2Qr_Wn$_Q{8r7h5{*Ut)GWaKfxsoGCYsO_PStEq zo>@#?O{<$GmZKH8hZhZ}`P-aPwH?xyL-A7-5w z?YDznLN9VSScHgJ z=4G-OC+vzhGKxX)mNH4$F916g4xYC|#0(F*p&WM@+-DhZY*{7_=B$Q_MXy&7_*<{z znHg*mmKdxj1WBgAEptrB>Zvn0$c3hs=k6lp?F?4OfN->{hP1f8SK%Og#q-=U(820Z zr5|e5H_t7?O`x#2@Uo!0KzE}6m#q@Cm_pOm8>8S=X7FxTtZ=w+b)FoJ&K+sFd%D2zVEp04N8`KMzlm=~cz~+z zLfM22^5KGrNrxOUli|anrW>jp4)iX-4rqF8m<|}F)lnRR7gN8J(NI7HE@wrMOR5KG z`83XB$9Y-w%Q)%KPnbgmIbmdOE()+M#Uesv#@wsgCBw|-oysWehAw(QxhNm2S%+?# z6@&&XR9RlNjIU}=d16$La&EJhOe}a5il?xS3>g*y+qGCn;loC;>^5sLmu@@hi}CTG+C)>TOHbH0cs?m6 z_9Z>RrK28#T9TSsz`KwfNW>8&hzQ$CR8{ypf~^jJ_wyZkXh?)-FMi<_AAc{_4dCUo zGB6Gr4z7E(&qg+NUBxF!5_}ekp1Delb4a+LbOjSxU;*6*Pk(wssCKqP{*$5@;+3{6 zeiPLF@uf)U@~714OB;rXOBsHMo%N?LSbIh@#$CKcnGzp0$nK>)+1 zC#Q>$e<;FJ=AV`N5xOkyQASJrefWI5Up zKn$BQF(fS*B^{nqXc3S8YU9$~3=p;}XlMsDwW41!uSnsdW)H|RhQjpfGIYwjTu4B! zVnWD@OCV+`f|YR-cJ2gXWS}K~#W7N!C39bS6rE zqS8DPi&Gvk13y1tO$LoCX=t#&VCvnL2T~G1zR3l4c@k@1mtA7e6vnFLrWgm}rAv7? zQ9r4WmELK+fp|_abIn2R&CnB`7Fl+tS)CN#yr)+kch(yqZ4Km$0AKl)^e6!wcrSPJ zDCK_n9GP*!ora8NnLFmaehhmg1ylPp9hZsL!W=x3!M)qzQ2 zI@N+5$n>I!4rY!lLWoN8ffi;KJAjMgmR0&xksRlyATf-8!n1L)Y%rU_52nB&!1=D) z6q;AwwN!Z~+dVn0GiAia)0C|;k1QMBU&3(+A)Z$W*!h448D{I7qb66j$E1fmSybx8 z%nUG#-JvCqT!W4XKb(x7q|hm%dMqjz#DX3kUyQatgzd;%iis9D%`g?9sl0NjhZpm1?h&lIOg;7lyV2wos{ zgs*czqd#0CD=6WF2RBO(Iu|uNg^q#eYmfX9gCGvNTX7PZ$V`aeYLjlYgezqGBqIKi zfmk#SgCmNfMgbf^rP!o!)I{=hg12I~maIDCmx4}}y#$`DKU!-Lgi5>!S@e=DMgy~k+U~3$kwps8;eHh1W zwJ({-9of^)VL+8nMua(gBJgl&ZD~Gb079 z-?=-QB330E-L~Af2JUme54*Jz%!+p4oO)VOVUfXI^E`yxqezJLAr{_x<(9Qc2o1Fz%7 zC*|?r zUmQ<>Ux)fta-j}&qETHEeZx&X>VX)10s12yhLo7&b^P?1BkVFiC>( zple``BmXENMl%@~#zEj5^chJeBLY>eLT#3~21w7Uv{NsDja*?j@_rPgkdZ*KVYRI^ zYH31JLXV0_0jzoYID53nIbo3t90mG%_UdRbP2uJ#&pHJYtpa}QNWb%dQ!38B)}eU@ z=O9=c(CECd=V9v^&M61__i(C1Wf@YIwb*KkA(|%WXl>}LPuw9kJLJHvhw7pEql@AL zwZDs57O?}5xCilQcs7*;;F)HmU)z-=I<>1!!sWBW53tV-lB_*fS)i3#5!vk{%U|0J z=cNMH4=O&RyO*_B$k|iOBogGI9-rhK99i@`Pl@8Wq}ZSTlpkW0MWG=Yv! zu#i`PlT*-}j=GY_3l}xEDu)t)S&Ix#CT!^D`J$j1INB+WRno)F>?R4>$7m@!M($kn zd@PCE*?>a#n8`eXKsq!kscqG!M2I9|N`Av*6ZWOrC~QLW^oEh{Inr~{%s1)+egdqI024DmbAmi zaq3JYSUh#*mq@;rLn1VqgNl##Dbd8YY%g|9ol= zDCzg|P8s`KL{ed14c!O|3YW-;_7YSG@E!Bc+TOHFmIOQmlVp_ufy(jFUh*zuBM1N- zw#QOv8Q-1T?K)B57^RxWx+uP2V8FmjJ`%YFt>~6OM>R@@)?iZpU9*T4JE8+Z54L0A&iIlio1vf(BjBvaa(h#qh!E&k-{;s4b3MvV}A#6%5s89N{3cbkTU=bqXT9?T- zPS_Q1WE6woEoG5#UjTM096WD_h!q}mLpkm+xX&`+*jW}1=B$Q_MXy&7_*bvvSs82* zmKdxPf+SPmmN^z=_0$<0m;9xnAab1|$s2$5anorBDGy1?*Y{Ncn$X>N^_`eun5@JVjYDK8^y9W5_KwkYT!va_}UgB(aspr z;2J7GHmitWgvz&+0Mls1R(k#6mUecVb(u@IJ@v!*ajG`alIqeE_6^S`#l*g(C%AOf zLr_anGYfbZk^_l2f&>v^TZyU)|38)O8h~BuVgDBzop5G0q|3g3<~WvcLkm2Ty-`La27OL;jPZ7~++-EdC~_`{PTI z(B)65(~mYVyWH7wQI_eo>f-sNHK?V?)Jj@(;X0q}NQ;W`%imPa>L7q&>&fXQWO)Tc z>BusH$oH2~iy8r0-@e`!Ig1!C0ybVP5}Z;(aE#1IkV&k>=E|BDLzbfr0mQJCg&}Fd zDCzK=LW_9xt&K}}GeFp`prIYq)QWy$evraN%^r|t429{{GIYwjTu4B!VnWD@OCV+` zg2_0==}#AO%b`PLj;MkZ70>>QZHS!eIlfw-pt+<~5EY;Nu`TUO~)MRJ^*g2XWX3D3sGvcYTyKbQiC0Oz}EQ)pg!*HYz~ zZ1?1}&Xf@wPgAzaJhE(f{|Lt+gm_*hVCMrGWSFftM@_D5k4X=CvZ&OFnHgXfyF*JJ zxdt5(emEIDNug6j^;lFchy^`7z8GzP2-}gzdRZoY3Y~>l$>?0eVKPLZ!2hi-4*khl zm`Vr#PVfPNL=6JPE>%iis9D%`g?9sl0Nh1gP`J3MXNuD#a3+>w1TT;}!q*(o=!;8a z1tpyD;AZJT=b~m)=ool@_Q)SG2;$V;ij&AhW5O1ucU^pY$_1rB=t;k^FEFj|;I zDHgYN2I?q!GO`TomT{+GYaE-lS@1`F7{_hn)`HEUT^smnc=_wN-pItdmrUeF_Ox>t zQ00>mVa}ciJX~5En!{r6xA_~mE-XDDxCg_UFtGD3pYLWV@f%Jjeh#{|I@EIOjY0v> zoTG!s{0CGAKNMi{D4wXTf!@w~w{`RI%1%j>XYhdNhVBeUWoJbSTHkp)nj%&u8*N+e wn}Pe>@563Qf>qHCoKsILDl9U%Yo3R2do&3hfYsxU3=XRM-wEi}Sbv`X1KY85hX4Qo literal 0 HcmV?d00001 diff --git a/bitmap-destruction-force/inverted-bitmap.bmp b/bitmap-destruction-force/inverted-bitmap.bmp new file mode 100644 index 0000000000000000000000000000000000000000..d835124ae712ff2c2b3374af2d7eddf96fca5b4f GIT binary patch literal 11078 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 Date: Sun, 18 Sep 2016 14:23:42 -0700 Subject: [PATCH 24/45] Cleaned up some code and changed the greenscaler from the allgreen. --- bitmap-destruction-force/grayscale-bitmap.bmp | Bin 11078 -> 0 bytes bitmap-destruction-force/green-bitmap.bmp | Bin 11078 -> 0 bytes bitmap-destruction-force/index.js | 4 ++-- bitmap-destruction-force/inverted-bitmap.bmp | Bin 11078 -> 0 bytes .../lib/bitmapFileHelper.js | 5 ----- ...Constructor.js => greenscale-constructor.js} | 4 ++-- 6 files changed, 4 insertions(+), 9 deletions(-) delete mode 100644 bitmap-destruction-force/grayscale-bitmap.bmp delete mode 100644 bitmap-destruction-force/green-bitmap.bmp delete mode 100644 bitmap-destruction-force/inverted-bitmap.bmp rename bitmap-destruction-force/model/{bitmapConstructor.js => greenscale-constructor.js} (75%) diff --git a/bitmap-destruction-force/grayscale-bitmap.bmp b/bitmap-destruction-force/grayscale-bitmap.bmp deleted file mode 100644 index bd1b35ec469f4b6011729c489d0a957c8195d6b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11078 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 diff --git a/bitmap-destruction-force/index.js b/bitmap-destruction-force/index.js index 342592b..1b6e7ac 100644 --- a/bitmap-destruction-force/index.js +++ b/bitmap-destruction-force/index.js @@ -1,11 +1,11 @@ 'use strict'; -const Transformer = require('./model/bitmapConstructor.js'); +const Greenscaler = require('./model/greenscale-constructor.js'); const Inverter = require('./model/inverse-constructor.js'); const GrayScale = require('./model/grayscale-constructor.js'); const bitmapFileHelper = require('./lib/bitmapFileHelper.js'); -bitmapFileHelper.turnGreen(Transformer); +bitmapFileHelper.turnGreen(Greenscaler); bitmapFileHelper.invertColor(Inverter); bitmapFileHelper.grayScale(GrayScale); diff --git a/bitmap-destruction-force/inverted-bitmap.bmp b/bitmap-destruction-force/inverted-bitmap.bmp deleted file mode 100644 index d835124ae712ff2c2b3374af2d7eddf96fca5b4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11078 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 Date: Sun, 18 Sep 2016 14:27:56 -0700 Subject: [PATCH 25/45] Cleaned up extraneous code, added descriptive comments to index. --- bitmap-destruction-force/index.js | 13 +++++++------ bitmap-destruction-force/lib/bitmapFileHelper.js | 4 +--- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/bitmap-destruction-force/index.js b/bitmap-destruction-force/index.js index 1b6e7ac..ff225a2 100644 --- a/bitmap-destruction-force/index.js +++ b/bitmap-destruction-force/index.js @@ -1,11 +1,12 @@ 'use strict'; +const bitmapFileHelper = require('./lib/bitmapFileHelper.js'); + const Greenscaler = require('./model/greenscale-constructor.js'); const Inverter = require('./model/inverse-constructor.js'); -const GrayScale = require('./model/grayscale-constructor.js'); - -const bitmapFileHelper = require('./lib/bitmapFileHelper.js'); +const Grayscaler = require('./model/grayscale-constructor.js'); -bitmapFileHelper.turnGreen(Greenscaler); -bitmapFileHelper.invertColor(Inverter); -bitmapFileHelper.grayScale(GrayScale); +//Running node on index.js will produce three unique bitmaps with the function invocations below: +bitmapFileHelper.turnGreen(Greenscaler); //Greenscales the bitmap +bitmapFileHelper.invertColor(Inverter); //Inverts the colors of the bitmap +bitmapFileHelper.grayScale(Grayscaler); //Grayscales the colors of the bitmap diff --git a/bitmap-destruction-force/lib/bitmapFileHelper.js b/bitmap-destruction-force/lib/bitmapFileHelper.js index 241badd..ba8aea6 100644 --- a/bitmap-destruction-force/lib/bitmapFileHelper.js +++ b/bitmap-destruction-force/lib/bitmapFileHelper.js @@ -1,10 +1,8 @@ 'use strict'; const fs = require('fs'); - -module.exports = exports = {}; - var buf; +module.exports = exports = {}; exports.turnGreen = function(callback) { fs.readFile(`${__dirname}/../../assets/bitmap.bmp`, function(err, data){ From 33e4e48b16ed6126a24a35d8035d1f47d5b66766 Mon Sep 17 00:00:00 2001 From: Peter Kim Date: Sun, 18 Sep 2016 16:04:07 -0700 Subject: [PATCH 26/45] created test for bitmapHelper. --- .../test/bitmapConstructorTest.js | 31 +++++++++++++++++++ .../test/bitmapFileHelperTest.js | 31 +++++++++++++++++++ 2 files changed, 62 insertions(+) diff --git a/bitmap-destruction-force/test/bitmapConstructorTest.js b/bitmap-destruction-force/test/bitmapConstructorTest.js index e69de29..8deb427 100644 --- a/bitmap-destruction-force/test/bitmapConstructorTest.js +++ b/bitmap-destruction-force/test/bitmapConstructorTest.js @@ -0,0 +1,31 @@ +'use strict'; + +const bitmapFileHelper = require('../lib/bitmapFileHelper.js'); +const assert = require('assert'); + +describe('bitmapFileHelper', function(){ + describe('#turnGreen', function(){ + it('should return buffer data', function(done){ + bitmapFileHelper.turnGreen(function(buf){ + assert.ok(buf, 'is not buffer data'); + done(); + }); + }); + }); + describe('#invertColor', function(){ + it('should return buffer data', function(done){ + bitmapFileHelper.invertColor(function(buf){ + assert.ok(buf, 'is not buffer data'); + done(); + }); + }); + }); + describe('#grayScale', function(){ + it('should return buffer data', function(done){ + bitmapFileHelper.grayScale(function(buf){ + assert.ok(buf, 'is not buffer data'); + done(); + }); + }); + }); +}); diff --git a/bitmap-destruction-force/test/bitmapFileHelperTest.js b/bitmap-destruction-force/test/bitmapFileHelperTest.js index e69de29..8deb427 100644 --- a/bitmap-destruction-force/test/bitmapFileHelperTest.js +++ b/bitmap-destruction-force/test/bitmapFileHelperTest.js @@ -0,0 +1,31 @@ +'use strict'; + +const bitmapFileHelper = require('../lib/bitmapFileHelper.js'); +const assert = require('assert'); + +describe('bitmapFileHelper', function(){ + describe('#turnGreen', function(){ + it('should return buffer data', function(done){ + bitmapFileHelper.turnGreen(function(buf){ + assert.ok(buf, 'is not buffer data'); + done(); + }); + }); + }); + describe('#invertColor', function(){ + it('should return buffer data', function(done){ + bitmapFileHelper.invertColor(function(buf){ + assert.ok(buf, 'is not buffer data'); + done(); + }); + }); + }); + describe('#grayScale', function(){ + it('should return buffer data', function(done){ + bitmapFileHelper.grayScale(function(buf){ + assert.ok(buf, 'is not buffer data'); + done(); + }); + }); + }); +}); From 32ac899ba7a0796bed2d7de13fb0a10c33004c0a Mon Sep 17 00:00:00 2001 From: Peter Kim Date: Sun, 18 Sep 2016 16:10:57 -0700 Subject: [PATCH 27/45] added throw errors on bitmapHelper.js --- bitmap-destruction-force/lib/bitmapFileHelper.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bitmap-destruction-force/lib/bitmapFileHelper.js b/bitmap-destruction-force/lib/bitmapFileHelper.js index ba8aea6..b441a90 100644 --- a/bitmap-destruction-force/lib/bitmapFileHelper.js +++ b/bitmap-destruction-force/lib/bitmapFileHelper.js @@ -6,6 +6,7 @@ module.exports = exports = {}; exports.turnGreen = function(callback) { fs.readFile(`${__dirname}/../../assets/bitmap.bmp`, function(err, data){ + if(err) throw new Error('bitmap buffer not acquired'); buf = data; callback(buf); fs.writeFile('./green-bitmap.bmp', buf); @@ -14,6 +15,7 @@ exports.turnGreen = function(callback) { exports.invertColor = function(callback) { fs.readFile(`${__dirname}/../../assets/bitmap.bmp`, function(err, data){ + if(err) throw new Error('bitmap buffer not acquired'); buf = data; callback(buf); fs.writeFile('./inverted-bitmap.bmp', buf); @@ -22,6 +24,7 @@ exports.invertColor = function(callback) { exports.grayScale = function(callback) { fs.readFile(`${__dirname}/../../assets/bitmap.bmp`, function(err, data){ + if(err) throw new Error('bitmap buffer not acquired'); buf = data; callback(buf); fs.writeFile('./grayscale-bitmap.bmp', buf); From 0107a14dbd00c83a0f71f0f2e5fa910ff1f1500e Mon Sep 17 00:00:00 2001 From: Peter Kim Date: Sun, 18 Sep 2016 16:46:27 -0700 Subject: [PATCH 28/45] writefile adds bitmaps to transformed assets folder --- .../lib/bitmapFileHelper.js | 6 +++--- .../model/greenscale-constructor.js | 6 +++--- .../transformed-assets/grayscale-bitmap.bmp | Bin 0 -> 11078 bytes .../transformed-assets/greenscale-bitmap.bmp | Bin 0 -> 11078 bytes .../transformed-assets/inverted-bitmap.bmp | Bin 0 -> 11078 bytes 5 files changed, 6 insertions(+), 6 deletions(-) create mode 100644 bitmap-destruction-force/transformed-assets/grayscale-bitmap.bmp create mode 100644 bitmap-destruction-force/transformed-assets/greenscale-bitmap.bmp create mode 100644 bitmap-destruction-force/transformed-assets/inverted-bitmap.bmp diff --git a/bitmap-destruction-force/lib/bitmapFileHelper.js b/bitmap-destruction-force/lib/bitmapFileHelper.js index b441a90..63c407f 100644 --- a/bitmap-destruction-force/lib/bitmapFileHelper.js +++ b/bitmap-destruction-force/lib/bitmapFileHelper.js @@ -9,7 +9,7 @@ exports.turnGreen = function(callback) { if(err) throw new Error('bitmap buffer not acquired'); buf = data; callback(buf); - fs.writeFile('./green-bitmap.bmp', buf); + fs.writeFile(`${__dirname}/../transformed-assets/greenscale-bitmap.bmp`, buf); }); }; @@ -18,7 +18,7 @@ exports.invertColor = function(callback) { if(err) throw new Error('bitmap buffer not acquired'); buf = data; callback(buf); - fs.writeFile('./inverted-bitmap.bmp', buf); + fs.writeFile(`${__dirname}/../transformed-assets/inverted-bitmap.bmp`, buf); }); }; @@ -27,6 +27,6 @@ exports.grayScale = function(callback) { if(err) throw new Error('bitmap buffer not acquired'); buf = data; callback(buf); - fs.writeFile('./grayscale-bitmap.bmp', buf); + fs.writeFile(`${__dirname}/../transformed-assets/grayscale-bitmap.bmp`, buf); }); }; diff --git a/bitmap-destruction-force/model/greenscale-constructor.js b/bitmap-destruction-force/model/greenscale-constructor.js index 0e1d909..6beff5a 100644 --- a/bitmap-destruction-force/model/greenscale-constructor.js +++ b/bitmap-destruction-force/model/greenscale-constructor.js @@ -1,17 +1,17 @@ 'use strict'; module.exports = function greenDuck(buf){ - var duck = new Transformer(buf); + var duck = new Greenscaler(buf); duck.turnGreen(buf); }; -const Transformer = function(buf){ +const Greenscaler = function(buf){ this.filesize = buf.readUInt32LE(2); this.offset = buf.readUInt32LE(10); this.colorArray = buf.slice(54, 1078); }; -Transformer.prototype.turnGreen = function(){ +Greenscaler.prototype.turnGreen = function(){ var currentColor; for (var i = 0;i < 1024;i += 4){ currentColor = this.colorArray.slice(i, i+4); diff --git a/bitmap-destruction-force/transformed-assets/grayscale-bitmap.bmp b/bitmap-destruction-force/transformed-assets/grayscale-bitmap.bmp new file mode 100644 index 0000000000000000000000000000000000000000..bd1b35ec469f4b6011729c489d0a957c8195d6b9 GIT binary patch literal 11078 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 literal 0 HcmV?d00001 diff --git a/bitmap-destruction-force/transformed-assets/inverted-bitmap.bmp b/bitmap-destruction-force/transformed-assets/inverted-bitmap.bmp new file mode 100644 index 0000000000000000000000000000000000000000..d835124ae712ff2c2b3374af2d7eddf96fca5b4f GIT binary patch literal 11078 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 Date: Sun, 18 Sep 2016 16:50:06 -0700 Subject: [PATCH 29/45] Stash --- bitmap-destruction-force/lib/bitmapFileHelper.js | 1 + 1 file changed, 1 insertion(+) diff --git a/bitmap-destruction-force/lib/bitmapFileHelper.js b/bitmap-destruction-force/lib/bitmapFileHelper.js index ba8aea6..32194ec 100644 --- a/bitmap-destruction-force/lib/bitmapFileHelper.js +++ b/bitmap-destruction-force/lib/bitmapFileHelper.js @@ -7,6 +7,7 @@ module.exports = exports = {}; exports.turnGreen = function(callback) { fs.readFile(`${__dirname}/../../assets/bitmap.bmp`, function(err, data){ buf = data; + console.log(buf); callback(buf); fs.writeFile('./green-bitmap.bmp', buf); }); From d1abf9e1a35086c1e456303ec933ce1ff3392f61 Mon Sep 17 00:00:00 2001 From: Lee Broxson Date: Sun, 18 Sep 2016 16:54:25 -0700 Subject: [PATCH 30/45] Renamed some of the test files and added use strict to all. --- .../test/bitmapConstructorTest.js | 31 ------------------- .../test/colorConstructorTest.js | 0 .../test/grayscale-constructor-test.js | 1 + .../test/greenscale-constructor-test.js | 1 + .../test/inverse-constructor-test.js | 1 + 5 files changed, 3 insertions(+), 31 deletions(-) delete mode 100644 bitmap-destruction-force/test/bitmapConstructorTest.js delete mode 100644 bitmap-destruction-force/test/colorConstructorTest.js create mode 100644 bitmap-destruction-force/test/grayscale-constructor-test.js create mode 100644 bitmap-destruction-force/test/greenscale-constructor-test.js create mode 100644 bitmap-destruction-force/test/inverse-constructor-test.js diff --git a/bitmap-destruction-force/test/bitmapConstructorTest.js b/bitmap-destruction-force/test/bitmapConstructorTest.js deleted file mode 100644 index 8deb427..0000000 --- a/bitmap-destruction-force/test/bitmapConstructorTest.js +++ /dev/null @@ -1,31 +0,0 @@ -'use strict'; - -const bitmapFileHelper = require('../lib/bitmapFileHelper.js'); -const assert = require('assert'); - -describe('bitmapFileHelper', function(){ - describe('#turnGreen', function(){ - it('should return buffer data', function(done){ - bitmapFileHelper.turnGreen(function(buf){ - assert.ok(buf, 'is not buffer data'); - done(); - }); - }); - }); - describe('#invertColor', function(){ - it('should return buffer data', function(done){ - bitmapFileHelper.invertColor(function(buf){ - assert.ok(buf, 'is not buffer data'); - done(); - }); - }); - }); - describe('#grayScale', function(){ - it('should return buffer data', function(done){ - bitmapFileHelper.grayScale(function(buf){ - assert.ok(buf, 'is not buffer data'); - done(); - }); - }); - }); -}); diff --git a/bitmap-destruction-force/test/colorConstructorTest.js b/bitmap-destruction-force/test/colorConstructorTest.js deleted file mode 100644 index e69de29..0000000 diff --git a/bitmap-destruction-force/test/grayscale-constructor-test.js b/bitmap-destruction-force/test/grayscale-constructor-test.js new file mode 100644 index 0000000..ad9a93a --- /dev/null +++ b/bitmap-destruction-force/test/grayscale-constructor-test.js @@ -0,0 +1 @@ +'use strict'; diff --git a/bitmap-destruction-force/test/greenscale-constructor-test.js b/bitmap-destruction-force/test/greenscale-constructor-test.js new file mode 100644 index 0000000..ad9a93a --- /dev/null +++ b/bitmap-destruction-force/test/greenscale-constructor-test.js @@ -0,0 +1 @@ +'use strict'; diff --git a/bitmap-destruction-force/test/inverse-constructor-test.js b/bitmap-destruction-force/test/inverse-constructor-test.js new file mode 100644 index 0000000..ad9a93a --- /dev/null +++ b/bitmap-destruction-force/test/inverse-constructor-test.js @@ -0,0 +1 @@ +'use strict'; From 080b2de6b85e3dfa7214dd9004e0099a45c908ed Mon Sep 17 00:00:00 2001 From: Lee Broxson Date: Sun, 18 Sep 2016 17:49:19 -0700 Subject: [PATCH 31/45] Put entire grayscaler on the module so we can look at its properties to test. Added some tests. --- bitmap-destruction-force/index.js | 2 +- .../lib/bitmapFileHelper.js | 1 - .../model/grayscale-constructor.js | 10 ++++++---- .../test/bitmapFileHelperTest.js | 7 ++++++- .../test/grayscale-constructor-test.js | 19 +++++++++++++++++++ .../test/greenscale-constructor-test.js | 16 ++++++++++++++++ .../test/inverse-constructor-test.js | 15 +++++++++++++++ 7 files changed, 63 insertions(+), 7 deletions(-) diff --git a/bitmap-destruction-force/index.js b/bitmap-destruction-force/index.js index ff225a2..51f695b 100644 --- a/bitmap-destruction-force/index.js +++ b/bitmap-destruction-force/index.js @@ -9,4 +9,4 @@ const Grayscaler = require('./model/grayscale-constructor.js'); //Running node on index.js will produce three unique bitmaps with the function invocations below: bitmapFileHelper.turnGreen(Greenscaler); //Greenscales the bitmap bitmapFileHelper.invertColor(Inverter); //Inverts the colors of the bitmap -bitmapFileHelper.grayScale(Grayscaler); //Grayscales the colors of the bitmap +bitmapFileHelper.grayScale(Grayscaler.grayScale); //Grayscales the colors of the bitmap diff --git a/bitmap-destruction-force/lib/bitmapFileHelper.js b/bitmap-destruction-force/lib/bitmapFileHelper.js index a69d70d..63c407f 100644 --- a/bitmap-destruction-force/lib/bitmapFileHelper.js +++ b/bitmap-destruction-force/lib/bitmapFileHelper.js @@ -8,7 +8,6 @@ exports.turnGreen = function(callback) { fs.readFile(`${__dirname}/../../assets/bitmap.bmp`, function(err, data){ if(err) throw new Error('bitmap buffer not acquired'); buf = data; - console.log(buf); callback(buf); fs.writeFile(`${__dirname}/../transformed-assets/greenscale-bitmap.bmp`, buf); }); diff --git a/bitmap-destruction-force/model/grayscale-constructor.js b/bitmap-destruction-force/model/grayscale-constructor.js index 41a0609..54696bc 100644 --- a/bitmap-destruction-force/model/grayscale-constructor.js +++ b/bitmap-destruction-force/model/grayscale-constructor.js @@ -1,17 +1,19 @@ 'use strict'; -module.exports = function grayScale(buf){ - var duck = new GrayScale(buf); +module.exports = exports = {}; + +exports.grayScale = function(buf){ + var duck = new exports.GrayScale(buf); duck.grayScale(buf); }; -const GrayScale = function(buf){ +exports.GrayScale = function(buf){ this.filesize = buf.readUInt32LE(2); this.offset = buf.readUInt32LE(10); this.colorArray = buf.slice(54, 1078); }; -GrayScale.prototype.grayScale = function(){ +exports.GrayScale.prototype.grayScale = function(){ var currentColor; for (var i = 0;i < 1024;i += 4){ currentColor = this.colorArray.slice(i, i+4); diff --git a/bitmap-destruction-force/test/bitmapFileHelperTest.js b/bitmap-destruction-force/test/bitmapFileHelperTest.js index 8deb427..a55b762 100644 --- a/bitmap-destruction-force/test/bitmapFileHelperTest.js +++ b/bitmap-destruction-force/test/bitmapFileHelperTest.js @@ -3,7 +3,7 @@ const bitmapFileHelper = require('../lib/bitmapFileHelper.js'); const assert = require('assert'); -describe('bitmapFileHelper', function(){ +describe('testing bitmapFileHelper', function(){ describe('#turnGreen', function(){ it('should return buffer data', function(done){ bitmapFileHelper.turnGreen(function(buf){ @@ -27,5 +27,10 @@ describe('bitmapFileHelper', function(){ done(); }); }); + it('should return an error', function() { + bitmapFileHelper.turnGreen([`${__dirname}/dont-exist.bmp`], function(err, data){ + assert.ifError(err); + }); + }); }); }); diff --git a/bitmap-destruction-force/test/grayscale-constructor-test.js b/bitmap-destruction-force/test/grayscale-constructor-test.js index ad9a93a..30db260 100644 --- a/bitmap-destruction-force/test/grayscale-constructor-test.js +++ b/bitmap-destruction-force/test/grayscale-constructor-test.js @@ -1 +1,20 @@ 'use strict'; + +const assert = require('assert'); +const Grayscaler = require('../model/grayscale-constructor.js'); +const bitmapFileHelper = require('../lib/bitmapFileHelper.js'); + + +describe('Grayscaler', function(){ + describe('#grayscale', function(){ + it('should ensure Grayscaler is running', function(done){ + bitmapFileHelper.grayScale(Grayscaler); + assert.ok(Grayscaler); + done(); + }); + it('should give the filesize of the bitmap', function(done) { + assert.ok(Grayscaler.Grayscale.filesize); + done(); + }); + }); +}); diff --git a/bitmap-destruction-force/test/greenscale-constructor-test.js b/bitmap-destruction-force/test/greenscale-constructor-test.js index ad9a93a..ed530f0 100644 --- a/bitmap-destruction-force/test/greenscale-constructor-test.js +++ b/bitmap-destruction-force/test/greenscale-constructor-test.js @@ -1 +1,17 @@ 'use strict'; + +const assert = require('assert'); +const Greenscaler = require('../model/greenscale-constructor.js'); +const bitmapFileHelper = require('../lib/bitmapFileHelper.js'); + + +describe('Greenscaler', function(){ + describe('#turnGreen', function(){ + it('should ensure Greenscaler is running', function(done){ + bitmapFileHelper.turnGreen(Greenscaler); + assert.ok(Greenscaler); + console.log(Greenscaler); + done(); + }); + }); +}); diff --git a/bitmap-destruction-force/test/inverse-constructor-test.js b/bitmap-destruction-force/test/inverse-constructor-test.js index ad9a93a..ea43c66 100644 --- a/bitmap-destruction-force/test/inverse-constructor-test.js +++ b/bitmap-destruction-force/test/inverse-constructor-test.js @@ -1 +1,16 @@ 'use strict'; + +const assert = require('assert'); +const Inverter = require('../model/inverse-constructor.js'); +const bitmapFileHelper = require('../lib/bitmapFileHelper.js'); + + +describe('Inverter', function(){ + describe('#invertColor', function(){ + it('should ensure Inverter is running', function(done){ + bitmapFileHelper.invertColor(Inverter); + assert.ok(Inverter); + done(); + }); + }); +}); From 357b5ae933526c7bdcf5144f02241202709db114 Mon Sep 17 00:00:00 2001 From: Lee Broxson Date: Sun, 18 Sep 2016 17:56:35 -0700 Subject: [PATCH 32/45] Refactored greenscaler and inverter to attach everything to the module. --- bitmap-destruction-force/index.js | 4 ++-- .../model/greenscale-constructor.js | 10 ++++++---- bitmap-destruction-force/model/inverse-constructor.js | 10 ++++++---- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/bitmap-destruction-force/index.js b/bitmap-destruction-force/index.js index 51f695b..0b6286b 100644 --- a/bitmap-destruction-force/index.js +++ b/bitmap-destruction-force/index.js @@ -7,6 +7,6 @@ const Inverter = require('./model/inverse-constructor.js'); const Grayscaler = require('./model/grayscale-constructor.js'); //Running node on index.js will produce three unique bitmaps with the function invocations below: -bitmapFileHelper.turnGreen(Greenscaler); //Greenscales the bitmap -bitmapFileHelper.invertColor(Inverter); //Inverts the colors of the bitmap +bitmapFileHelper.turnGreen(Greenscaler.greenScale); //Greenscales the bitmap +bitmapFileHelper.invertColor(Inverter.invert); //Inverts the colors of the bitmap bitmapFileHelper.grayScale(Grayscaler.grayScale); //Grayscales the colors of the bitmap diff --git a/bitmap-destruction-force/model/greenscale-constructor.js b/bitmap-destruction-force/model/greenscale-constructor.js index 6beff5a..775257c 100644 --- a/bitmap-destruction-force/model/greenscale-constructor.js +++ b/bitmap-destruction-force/model/greenscale-constructor.js @@ -1,17 +1,19 @@ 'use strict'; -module.exports = function greenDuck(buf){ - var duck = new Greenscaler(buf); +module.exports = exports = {}; + +exports.greenScale = function(buf){ + var duck = new exports.GreenScaler(buf); duck.turnGreen(buf); }; -const Greenscaler = function(buf){ +exports.GreenScaler = function(buf){ this.filesize = buf.readUInt32LE(2); this.offset = buf.readUInt32LE(10); this.colorArray = buf.slice(54, 1078); }; -Greenscaler.prototype.turnGreen = function(){ +exports.GreenScaler.prototype.turnGreen = function(){ var currentColor; for (var i = 0;i < 1024;i += 4){ currentColor = this.colorArray.slice(i, i+4); diff --git a/bitmap-destruction-force/model/inverse-constructor.js b/bitmap-destruction-force/model/inverse-constructor.js index 6dc6203..091f7e7 100644 --- a/bitmap-destruction-force/model/inverse-constructor.js +++ b/bitmap-destruction-force/model/inverse-constructor.js @@ -1,17 +1,19 @@ 'use strict'; -module.exports = function invertDuck(buf){ - var duck = new Inverter(buf); +module.exports = exports = {}; + +exports.invert = function(buf){ + var duck = new exports.Inverter(buf); duck.invertColor(buf); }; -const Inverter = function(buf){ +exports.Inverter = function(buf){ this.filesize = buf.readUInt32LE(2); this.offset = buf.readUInt32LE(10); this.colorArray = buf.slice(54, 1078); }; -Inverter.prototype.invertColor = function(){ +exports.Inverter.prototype.invertColor = function(){ var currentColor; for (var i = 0;i < 1024;i += 4){ currentColor = this.colorArray.slice(i, i+4); From f3e387f527e6e89396e0033d014d1f0457bc9725 Mon Sep 17 00:00:00 2001 From: Lee Broxson Date: Sun, 18 Sep 2016 19:09:33 -0700 Subject: [PATCH 33/45] Wrote tests for the constructors to ensure they were running. --- bitmap-destruction-force/model/grayscale-constructor.js | 3 ++- bitmap-destruction-force/test/bitmapFileHelperTest.js | 4 ++-- .../test/grayscale-constructor-test.js | 7 ------- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/bitmap-destruction-force/model/grayscale-constructor.js b/bitmap-destruction-force/model/grayscale-constructor.js index 54696bc..06b031c 100644 --- a/bitmap-destruction-force/model/grayscale-constructor.js +++ b/bitmap-destruction-force/model/grayscale-constructor.js @@ -2,7 +2,8 @@ module.exports = exports = {}; -exports.grayScale = function(buf){ +exports.grayScale = function(buf, err){ + if (err) throw new Error('Error grayscaling bitmap'); var duck = new exports.GrayScale(buf); duck.grayScale(buf); }; diff --git a/bitmap-destruction-force/test/bitmapFileHelperTest.js b/bitmap-destruction-force/test/bitmapFileHelperTest.js index a55b762..16b9872 100644 --- a/bitmap-destruction-force/test/bitmapFileHelperTest.js +++ b/bitmap-destruction-force/test/bitmapFileHelperTest.js @@ -27,8 +27,8 @@ describe('testing bitmapFileHelper', function(){ done(); }); }); - it('should return an error', function() { - bitmapFileHelper.turnGreen([`${__dirname}/dont-exist.bmp`], function(err, data){ + it('should be a valid filename', function() { + bitmapFileHelper.turnGreen([`${__dirname}/dont-exist.bmp`], function(err){ assert.ifError(err); }); }); diff --git a/bitmap-destruction-force/test/grayscale-constructor-test.js b/bitmap-destruction-force/test/grayscale-constructor-test.js index 30db260..32f95b0 100644 --- a/bitmap-destruction-force/test/grayscale-constructor-test.js +++ b/bitmap-destruction-force/test/grayscale-constructor-test.js @@ -2,19 +2,12 @@ const assert = require('assert'); const Grayscaler = require('../model/grayscale-constructor.js'); -const bitmapFileHelper = require('../lib/bitmapFileHelper.js'); - describe('Grayscaler', function(){ describe('#grayscale', function(){ it('should ensure Grayscaler is running', function(done){ - bitmapFileHelper.grayScale(Grayscaler); assert.ok(Grayscaler); done(); }); - it('should give the filesize of the bitmap', function(done) { - assert.ok(Grayscaler.Grayscale.filesize); - done(); - }); }); }); From bdb223e52383400728e17964699556a37edc584c Mon Sep 17 00:00:00 2001 From: Lee Broxson Date: Sun, 18 Sep 2016 19:11:24 -0700 Subject: [PATCH 34/45] Delete grayscale-bitmap.bmp --- .../transformed-assets/grayscale-bitmap.bmp | Bin 11078 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bitmap-destruction-force/transformed-assets/grayscale-bitmap.bmp diff --git a/bitmap-destruction-force/transformed-assets/grayscale-bitmap.bmp b/bitmap-destruction-force/transformed-assets/grayscale-bitmap.bmp deleted file mode 100644 index bd1b35ec469f4b6011729c489d0a957c8195d6b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11078 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 Date: Sun, 18 Sep 2016 19:11:32 -0700 Subject: [PATCH 35/45] Delete greenscale-bitmap.bmp --- .../transformed-assets/greenscale-bitmap.bmp | Bin 11078 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bitmap-destruction-force/transformed-assets/greenscale-bitmap.bmp diff --git a/bitmap-destruction-force/transformed-assets/greenscale-bitmap.bmp b/bitmap-destruction-force/transformed-assets/greenscale-bitmap.bmp deleted file mode 100644 index 1336b7a308318dbbf3b9af9972b0f7bfc1df48b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11078 zcmeI1v99zw6@_yp3Pwa4L^0L$AkhOQLV^Y%(a=DH1OpRwaO@mgMM+fHWA_kQ$)Z*EE7`qH+2gW4}Uf3|%&?O*-+wtej@ zmAB7mGMi}MzC->#`RC-{lm9~g7x|y$Ka+n;{uTL$ss2r!; z#*Me$y*#)$(VX@w`>Y`bNcj^t8J6 z8oBnAFhQa`)$0?^$uW{bNdL2x;xO>7gU(c0`bmU7no3AW6cHVD$E7?4WiJc{3O=wR zJ8e0RwP-MKDD%Qvrv>#a#k1ll@Mefj!Y5@OcRf2Y47lXW%^=|T5KDOtcyI!J($QCH zpjnFyPY&3kJI)scgTZ5*^4O_byxHBPhMZ$*X*zqJxomlxYTSv26xhFcn1N#t?gOPcuON`@UM*@_|}`og%+ zfVY(Bc^6jKlj%&t1dS8{=VTp3(Kt9_Mxx%KU^>6&nIwaX+iKJt7Hr$H<15ZEIB`>z zlZJU}Fj^!gZ1lj_vt)Nb`A8hJ@~=U80^6*Njoqv`=<07SL?l z0|!13QdTkY4UoSlUu@?L^ zo^I!afol|{k98ZY0R7=u_WNE!Cew4 z#`RODIw@%CR(#A_VenGOvM>z^d8>9>K@$;QXqI64NRU*hAzILDI9<9qWo9{bnN}Z7 ztc(`$bZ;6@E1y&>JWi@?i>|>P6|g?uc{PU_Uk0qL2s_95jm6(Hy|TH14#w6cUN+SrgPH$_d&&&GWM3x$pck zZaDY}bE+^V_N<$mLhMM1h$0GO-AkEN-NKfgDk$!TNj#vEh{s{pZI~7XMI)A~BCl(~ zr&vQ?W2A+c$E>|3mOKn4Q<$S&rbWUIEz!~VvY8_LL_#COw-nx>i_f+w2|Htn7B^4@ z6tkL0MyYa33kVH8PHC(^-C}2tS$nv+?ZFr0`;9V0OQ>5TGRj(edqPI$XUc>5xDWPNOX#T=$Mf~P)MRA=3>ndW0Xsq0vy9BEesVFjY3D} zlv>~+_r}HDb^tqtG}a5XN=AQRzLDZZW{=1iV{&>88JzkqS0o~L3ZZ1p1xQ$$;9xw& z@zVuvW#|%xqf|+%ipTiHwulnyqkq@lL3@c+P%1<-Rn#*9ID^uksF+8vB;+M#;@1yY zi$U{BRp^{An7rHiK&k*3Z)2fdnZ)et*aZVqSgR^F%{UQXU8;8z+6@I(W~a>tk~!tf z4Tohm!%TQF5^$zw#6GQX;tUS?=K>hj?i!@l9VuEp*nR_e^A2DN`=%1Cq?Keft|>lXs4i+hd zRPj)YGs_(yiE(2UpH9e0Y#LI-`~xq>m1UDT40$jWoB|T>E&V<{9O{=S#Q_DJ1i%2Ap_Eql~bP&5_Af+hc{tI7L*IHD+f(SmKT~JW46LBJyww zdIiNsi2AWeEF6n^e0SaXK={La5)=4L3D#L5@!l`DX;mqIsAcrKr>}fSahMm{c4+ zkusg+?XgEot-9d1fnnNsaaCzOw^fp zGP(@=mU$h!;5pCx raB2s^s^|jlX{MEh76m+|&qKM>+kj5MZb?IRF4VNY64*@Nd>;P=niYh2 From 7d9a81ccd488b71f734a293a072455391c4d73f6 Mon Sep 17 00:00:00 2001 From: Lee Broxson Date: Sun, 18 Sep 2016 19:11:40 -0700 Subject: [PATCH 36/45] Delete inverted-bitmap.bmp --- .../transformed-assets/inverted-bitmap.bmp | Bin 11078 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bitmap-destruction-force/transformed-assets/inverted-bitmap.bmp diff --git a/bitmap-destruction-force/transformed-assets/inverted-bitmap.bmp b/bitmap-destruction-force/transformed-assets/inverted-bitmap.bmp deleted file mode 100644 index d835124ae712ff2c2b3374af2d7eddf96fca5b4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11078 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 Date: Sun, 18 Sep 2016 19:13:28 -0700 Subject: [PATCH 37/45] Put a placeholder in the folder that bitmaps are generated in. --- .../transformed-assets/grayscale-bitmap.bmp | Bin 11078 -> 0 bytes .../transformed-assets/greenscale-bitmap.bmp | Bin 11078 -> 0 bytes .../transformed-assets/inverted-bitmap.bmp | Bin 11078 -> 0 bytes .../transformed-assets/placeholder.md | 0 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bitmap-destruction-force/transformed-assets/grayscale-bitmap.bmp delete mode 100644 bitmap-destruction-force/transformed-assets/greenscale-bitmap.bmp delete mode 100644 bitmap-destruction-force/transformed-assets/inverted-bitmap.bmp create mode 100644 bitmap-destruction-force/transformed-assets/placeholder.md diff --git a/bitmap-destruction-force/transformed-assets/grayscale-bitmap.bmp b/bitmap-destruction-force/transformed-assets/grayscale-bitmap.bmp deleted file mode 100644 index bd1b35ec469f4b6011729c489d0a957c8195d6b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11078 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 diff --git a/bitmap-destruction-force/transformed-assets/inverted-bitmap.bmp b/bitmap-destruction-force/transformed-assets/inverted-bitmap.bmp deleted file mode 100644 index d835124ae712ff2c2b3374af2d7eddf96fca5b4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11078 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 Date: Sun, 18 Sep 2016 22:01:46 -0700 Subject: [PATCH 38/45] Added a pic of the original bitmap file to the readme. --- bitmap-destruction-force/README.md | 2 ++ .../transformed-assets/grayscale-bitmap.bmp | Bin 0 -> 11078 bytes .../transformed-assets/greenscale-bitmap.bmp | Bin 0 -> 11078 bytes .../transformed-assets/inverted-bitmap.bmp | Bin 0 -> 11078 bytes 4 files changed, 2 insertions(+) create mode 100644 bitmap-destruction-force/transformed-assets/grayscale-bitmap.bmp create mode 100644 bitmap-destruction-force/transformed-assets/greenscale-bitmap.bmp create mode 100644 bitmap-destruction-force/transformed-assets/inverted-bitmap.bmp diff --git a/bitmap-destruction-force/README.md b/bitmap-destruction-force/README.md index bacdca2..e1f2070 100644 --- a/bitmap-destruction-force/README.md +++ b/bitmap-destruction-force/README.md @@ -3,3 +3,5 @@ **Members:** Lee Broxson, Peter Kim + +![alt tag](assets/bitmap.bmp) diff --git a/bitmap-destruction-force/transformed-assets/grayscale-bitmap.bmp b/bitmap-destruction-force/transformed-assets/grayscale-bitmap.bmp new file mode 100644 index 0000000000000000000000000000000000000000..bd1b35ec469f4b6011729c489d0a957c8195d6b9 GIT binary patch literal 11078 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 literal 0 HcmV?d00001 diff --git a/bitmap-destruction-force/transformed-assets/inverted-bitmap.bmp b/bitmap-destruction-force/transformed-assets/inverted-bitmap.bmp new file mode 100644 index 0000000000000000000000000000000000000000..d835124ae712ff2c2b3374af2d7eddf96fca5b4f GIT binary patch literal 11078 zcmeI1vCC~o6~!l*!iz_)THHb}Vj(eLCt_uzV6d^#Kfor6V3Q^wh=pJyf|%k30s$>V zOc88iBM5;=P~`dSL`3{kp6j>P-gD;M@5_5uR&UXK8{-on$#*=bE`1+AemwsApMQ_{{_%(LxA)%|e|qbc@z0-s zX1ww37shwK{PFRZk3K(s_sQ>$M_+j`UiroHH;0w?n z=`f_kjO#|HN=O_+A1Oef{Hn(liY&FK;$JfPLaEfkZf!C z4rpBy-ez@v>^&QhjuAvL(pnLff$1)e49j5Ot-+r zk!X*AI~SQ&VeyQ!ycb6(L^72qDV|ixK=V{S62I#G6U^J15aiTZbIL3*P_#S>iri!c zR_xu6K`MlHi@Kb*meYAVDe*FFg9%YENrLg9YhaEu|0p3wGZ`1gN#Gpx8A&E10#&U- zZI-wONYARYQ!jvxTwyoz@hC_kBY|SWYFla4(uAah9u<)SSo8F8@6jUXgheiJ6zJ>O ztE0g*g`1~5>lEy074V&o^g9nYrQ+;s9hzryPJ*=ojm`^uKOB0dbIO7Kot^4XS%#El zEw-9sh^8HMwhrj4Puw9kJLJHvhw7~Pql@ALwZDs57I6fgaZlpe@N6mxz%$KAzqTt$ zbZS?dgv;j$Kf&&AkYw$-$^xy_ipXw{EPrh?oR%Z>hVd= z!O;aFD*v;TaFF=Yp}}fu>ANWP))XNoL4C2)0q^2@Ty5{jVvtL`+%$oX7qF05fIFw44?5~fA}?Ij*s2^#0A?*R zIN4!Cx1TQxnt`L8;#eg;+{|v0kbR7nqGRNdi=KN+;&wKm&^=}{k06i^jY?`;bx?9k zG?g&606_(~!GnrA{o@JjaHFA=Sf1{?Qzm|2aoC1}Eff|}7y3RDUQ(>*zO=HQC`S@a zP)h-DPSz%}#^$gY&U&Rn)A@d$NzzohEm7;RVAJOvA919CiR&hu>bP*Qe{?*h==rUp z6}@vnK&LAjz*T`y9OHVqK=VOTT0)J&E>I6e*T_-PluryG7or*CA_tx#Bvuk>HjR}A ztZ-;)#@M7Y9PAbZb^@h7`J%RG%6QWN)L-%O$X_Sy0~PJm;PB^}}8ICUlxES|dZOC(R1Ln1VqgNl## zDb?g~>ZSW0V`N&x#+ps>d8YY%gf4OK5DCxK5E@kX*5lMx4HS|DGP`E@! zw3nblfOj!(S=*a-$&!GFU?*86K%g?t+Dq=rI1mH?4%=fXw2bf0!|ggz;25Qv$GRw< z!oYxumwY603tG`FfsSgF46VVW{E21}D|SQ&gvNIbrmxdj%l=|=(VOtogc#J8@6h1W zZ(?6t@LQ0Mn57@?UWKJ*xp8f_^+6_V^TKi{J##`rt%Pe0ZjgwguO9~GB+zQp;4w=> z!9xMd!qgJ{R?V~$jYT}sEWrGMz$K_ATF?_t)of0lSxj9`tEWvYM=Nj-FB(qsJ*ZfC zm{i^tS%aHYi1l)xS2Ile(y;XETZaYr(DdUEv#y)>l5M*{b*Jn|iMv&BBNWaE$D2YL z;uSMkPIbcXDk+MBN&;{Qn^FtvKK)sRUgU7F2obTZ%j7Ul*cESN6ocR`Wsz{Z0PIva zc-~GCD?I3ia@=8XpJl*tWLY?vvl=QEyt8lg@f#h=ecE|gVmu*f2dX8I=2Wnfx_a#%YyC#-Hig= zj!MvC3Qb#YjDlBL!P~A_;c($m;9xnAa zb1|$s2$5anE(e+Kbb;Z)_``{h#&@%Si62IIfU0((Y(fV4a6!bPLynlq@L^HY4OI>Y zdKX|PG(9#<2aM9{C=S7ksqbVo6cB;SSrO!t>Iqst&GXoC-8TJYoOI|^z z7CZ{YQ&>laOpAbRE!I)^uu&}gK%!2CPYpat2VdJFB-$Ax8eBsK$YvE0j8OTO5?~sQ zIFw$0xTT%lW^LxuZ5RD8KA%*ZXi0VH3Ht%hC&k3Rq$jv^)I(59QZoy97m@>sID!Nb zVOxo+3jc=SsKdYge1{$y65-j4UwFmGzl(JPc=_xMjDv=Q>#lCIkxgA!@kx>dpGBf) zt`g%M5-upMU?B@EpvU0pPfrNd&UVOuQWQhH(w4>F1a*IWDH6K;DRuhM24Pz;Niv=_X`(1w-k`GJ(kVmr;uv0a@R1 zy)AMUFfM$HQW8ME$pvo23Vxi<(WL zW8nGOBY(soh?DMCoJ1xv6XLhpq+2cF3fVr1h<{`t7R|%th@z-b04Go>HYpr6kvyH? zt=O$4tIqhPpsBK#z?1byYY&1@i5DT8UXsPAz(LPHoY%h?MhlZD#p1TkK%GTTMwVgS zGVc^@jbqa`3;w7N Date: Sun, 18 Sep 2016 22:06:13 -0700 Subject: [PATCH 39/45] Update README.md --- bitmap-destruction-force/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bitmap-destruction-force/README.md b/bitmap-destruction-force/README.md index e1f2070..0b63c65 100644 --- a/bitmap-destruction-force/README.md +++ b/bitmap-destruction-force/README.md @@ -4,4 +4,4 @@ Lee Broxson, Peter Kim -![alt tag](assets/bitmap.bmp) +![alt tag](./assets/bitmap.bmp) From 337d068b8dc52459e5aae01c0604fff799f1c1e8 Mon Sep 17 00:00:00 2001 From: Lee Broxson Date: Sun, 18 Sep 2016 22:06:54 -0700 Subject: [PATCH 40/45] Update README.md --- bitmap-destruction-force/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bitmap-destruction-force/README.md b/bitmap-destruction-force/README.md index 0b63c65..ec2ca92 100644 --- a/bitmap-destruction-force/README.md +++ b/bitmap-destruction-force/README.md @@ -4,4 +4,4 @@ Lee Broxson, Peter Kim -![alt tag](./assets/bitmap.bmp) +![alt tag](../assets/bitmap.bmp) From aba3488aa2d1a18326ca0775e21ef3af3f0c552b Mon Sep 17 00:00:00 2001 From: Lee Broxson Date: Sun, 18 Sep 2016 22:29:12 -0700 Subject: [PATCH 41/45] Update README.md --- bitmap-destruction-force/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bitmap-destruction-force/README.md b/bitmap-destruction-force/README.md index ec2ca92..202c225 100644 --- a/bitmap-destruction-force/README.md +++ b/bitmap-destruction-force/README.md @@ -2,6 +2,6 @@ **Members:** -Lee Broxson, Peter Kim + Lee Broxson, Peter Kim ![alt tag](../assets/bitmap.bmp) From bd70f366c8de4c869781c16c9589146954140f4a Mon Sep 17 00:00:00 2001 From: Lee Broxson Date: Sun, 18 Sep 2016 22:29:24 -0700 Subject: [PATCH 42/45] Update README.md --- bitmap-destruction-force/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bitmap-destruction-force/README.md b/bitmap-destruction-force/README.md index 202c225..ec2ca92 100644 --- a/bitmap-destruction-force/README.md +++ b/bitmap-destruction-force/README.md @@ -2,6 +2,6 @@ **Members:** - Lee Broxson, Peter Kim +Lee Broxson, Peter Kim ![alt tag](../assets/bitmap.bmp) From 34767961987925cc0c927d8520abec1c2f827b5e Mon Sep 17 00:00:00 2001 From: Lee Broxson Date: Sun, 18 Sep 2016 22:48:00 -0700 Subject: [PATCH 43/45] Update README.md --- bitmap-destruction-force/README.md | 39 +++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/bitmap-destruction-force/README.md b/bitmap-destruction-force/README.md index ec2ca92..071a847 100644 --- a/bitmap-destruction-force/README.md +++ b/bitmap-destruction-force/README.md @@ -1,7 +1,44 @@ ##Team Bitmap Destruction Force -**Members:** +**Collaborators:** Lee Broxson, Peter Kim +##How to use this application + +**Original 8-bit color bitmap** ![alt tag](../assets/bitmap.bmp) + +This application's intent is to easily transform an 8-bit color bitmap file to either greenscale, grayscale or an inverted version of the original bitmap being used. + +**Convert a single 8-bit color bitmap to a greenscaled, grayscaled and inverted color version all at once** + +In the 'bitmap-destruction-force' directory, in your terminal, run the following command: + + node index.js + +**Example of greenscaled bitmap** + +In the primary repository, enter the following command: + + node index.js bitmapFileHelper.turnGreen(Greenscaler.greenScale); + +![alt tag](./transformed-assets/greenscale-bitmap.bmp) + +**Example of grayscaled bitmap** + +In the primary repository, enter the following command: + + node index.js bitmapFileHelper.grayScale(Grayscaler.grayScale); + +![alt tag](./transformed-assets/grayscale-bitmap.bmp) + +**Example of invert-colored bitmap** + +In the primary repository, enter the following command: + + node index.js bitmapFileHelper.invertColor(Inverter.invert); + +![alt tag](./transformed-assets/inverted-bitmap.bmp) + +More features and different bitmap transformers to come! From 96b2e8b902feb04a734abed425bcc91dda4186c7 Mon Sep 17 00:00:00 2001 From: Lee Broxson Date: Sun, 18 Sep 2016 22:48:49 -0700 Subject: [PATCH 44/45] Update README.md --- bitmap-destruction-force/README.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/bitmap-destruction-force/README.md b/bitmap-destruction-force/README.md index 071a847..6a2c376 100644 --- a/bitmap-destruction-force/README.md +++ b/bitmap-destruction-force/README.md @@ -7,7 +7,8 @@ Lee Broxson, Peter Kim ##How to use this application **Original 8-bit color bitmap** -![alt tag](../assets/bitmap.bmp) + + ![alt tag](../assets/bitmap.bmp) This application's intent is to easily transform an 8-bit color bitmap file to either greenscale, grayscale or an inverted version of the original bitmap being used. @@ -23,7 +24,7 @@ In the primary repository, enter the following command: node index.js bitmapFileHelper.turnGreen(Greenscaler.greenScale); -![alt tag](./transformed-assets/greenscale-bitmap.bmp) + ![alt tag](./transformed-assets/greenscale-bitmap.bmp) **Example of grayscaled bitmap** @@ -31,7 +32,7 @@ In the primary repository, enter the following command: node index.js bitmapFileHelper.grayScale(Grayscaler.grayScale); -![alt tag](./transformed-assets/grayscale-bitmap.bmp) + ![alt tag](./transformed-assets/grayscale-bitmap.bmp) **Example of invert-colored bitmap** @@ -39,6 +40,6 @@ In the primary repository, enter the following command: node index.js bitmapFileHelper.invertColor(Inverter.invert); -![alt tag](./transformed-assets/inverted-bitmap.bmp) + ![alt tag](./transformed-assets/inverted-bitmap.bmp) More features and different bitmap transformers to come! From 510e122a42febd5b5d5ba18deed451a71b8ef74e Mon Sep 17 00:00:00 2001 From: Lee Broxson Date: Sun, 18 Sep 2016 22:49:19 -0700 Subject: [PATCH 45/45] Update README.md --- bitmap-destruction-force/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bitmap-destruction-force/README.md b/bitmap-destruction-force/README.md index 6a2c376..4ea2233 100644 --- a/bitmap-destruction-force/README.md +++ b/bitmap-destruction-force/README.md @@ -8,7 +8,7 @@ Lee Broxson, Peter Kim **Original 8-bit color bitmap** - ![alt tag](../assets/bitmap.bmp) +![alt tag](../assets/bitmap.bmp) This application's intent is to easily transform an 8-bit color bitmap file to either greenscale, grayscale or an inverted version of the original bitmap being used. @@ -24,7 +24,7 @@ In the primary repository, enter the following command: node index.js bitmapFileHelper.turnGreen(Greenscaler.greenScale); - ![alt tag](./transformed-assets/greenscale-bitmap.bmp) +![alt tag](./transformed-assets/greenscale-bitmap.bmp) **Example of grayscaled bitmap** @@ -32,7 +32,7 @@ In the primary repository, enter the following command: node index.js bitmapFileHelper.grayScale(Grayscaler.grayScale); - ![alt tag](./transformed-assets/grayscale-bitmap.bmp) +![alt tag](./transformed-assets/grayscale-bitmap.bmp) **Example of invert-colored bitmap** @@ -40,6 +40,6 @@ In the primary repository, enter the following command: node index.js bitmapFileHelper.invertColor(Inverter.invert); - ![alt tag](./transformed-assets/inverted-bitmap.bmp) +![alt tag](./transformed-assets/inverted-bitmap.bmp) More features and different bitmap transformers to come!