1
- var imageLoader = document . getElementById ( 'imageLoader' ) ;
1
+ import NftMC from './wasm/NftMarkerCreator_ES6_wasm.js'
2
+
3
+ const nftMC = await NftMC ( ) ;
4
+
5
+ const imageLoader = document . getElementById ( 'imageLoader' ) ;
2
6
imageLoader . addEventListener ( 'change' , handleImage , false ) ;
3
- var canvas = document . getElementById ( 'imageCanvas' ) ;
4
- var hideCanvas = document . getElementById ( 'hideCanvas' ) ;
7
+
8
+ const canvas = document . getElementById ( 'imageCanvas' ) ;
9
+ const hideCanvas = document . getElementById ( 'hideCanvas' ) ;
5
10
hideCanvas . style . display = "none" ;
6
- var ctx = canvas . getContext ( '2d' ) ;
11
+
12
+ const ctx = canvas . getContext ( '2d' ) ;
7
13
ctx . fillStyle = "#949494" ;
8
14
ctx . fillRect ( 0 , 0 , canvas . width , canvas . height ) ;
9
- var ctxHide = hideCanvas . getContext ( '2d' ) ;
10
15
11
- var reader = new FileReader ( ) ;
16
+ const ctxHide = hideCanvas . getContext ( '2d' ) ;
17
+
18
+ const reader = new FileReader ( ) ;
12
19
13
- var name ;
14
- var nameWithExt ;
20
+ let name ;
21
+ let nameWithExt ;
15
22
16
- var globalObj = {
23
+ const globalObj = {
17
24
dpi : 0 ,
18
25
nc : 0 ,
19
26
w : 0 ,
20
27
h : 0 ,
21
28
arr : [ ]
22
- }
29
+ } ;
23
30
24
31
function handleImage ( e ) {
25
32
nameWithExt = e . target . files [ 0 ] . name ;
26
33
console . log ( "Image uploaded: " + nameWithExt ) ;
27
34
28
- name = nameWithExt . substr ( 0 , nameWithExt . lastIndexOf ( '.' ) ) ;
35
+ name = nameWithExt . substring ( 0 , nameWithExt . lastIndexOf ( '.' ) ) ;
29
36
30
- let extJpg = nameWithExt . substr ( nameWithExt . lastIndexOf ( '.' ) ) ;
37
+ let extJpg = nameWithExt . substring ( nameWithExt . lastIndexOf ( '.' ) ) ;
31
38
32
39
let confidenceEl = document . getElementById ( "confidenceLevel" ) ;
33
40
let childEls = confidenceEl . getElementsByClassName ( "confidenceEl" ) ;
34
41
for ( let i = 0 ; i < childEls . length ; i ++ ) {
35
42
childEls [ i ] . src = "./icons/star2.svg" ;
36
43
}
37
44
38
- if ( extJpg == '.jpg' || extJpg == '.jpeg' || extJpg == '.JPG' || extJpg == '.JPEG' ) {
45
+ if ( extJpg === '.jpg' || extJpg === '.jpeg' || extJpg === '.JPG' || extJpg = == '.JPEG' ) {
39
46
useJpeg ( e ) ;
40
- } else if ( extJpg == '.png' || extJpg == '.PNG' ) {
47
+ } else if ( extJpg === '.png' || extJpg = == '.PNG' ) {
41
48
globalObj . dpi = 72 ;
42
49
readImage ( e )
43
50
} else {
44
- console . log ( "Invalid image format!" ) ;
51
+ console . error ( "Invalid image format!" ) ;
45
52
}
46
53
47
54
document . getElementById ( "generateBt" ) . disabled = false ;
48
55
}
49
56
50
57
function generate ( ) {
51
- var imageCanvas = document . querySelector ( '#imageCanvas' ) ;
58
+ const imageCanvas = document . querySelector ( '#imageCanvas' ) ;
52
59
imageCanvas . style . opacity = 0.25 ;
53
60
54
- var okSign = document . querySelector ( '.checkmark-cover' ) ;
61
+ const okSign = document . querySelector ( '.checkmark-cover' ) ;
55
62
okSign . style . display = 'none' ;
56
63
57
- var spinner = document . querySelector ( '.spinner-container' ) ;
64
+ const spinner = document . querySelector ( '.spinner-container' ) ;
58
65
spinner . style . display = 'block' ;
59
66
60
67
setTimeout ( ( ) => {
61
68
let cmdArr = [ 0 , name ] ;
62
69
63
70
let paramStr = cmdArr . join ( ' ' ) ;
64
71
console . log ( paramStr )
65
- let StrBuffer = Module . _malloc ( paramStr . length + 1 ) ;
66
- Module . writeStringToMemory ( paramStr , StrBuffer ) ;
67
-
68
- let heapSpace = Module . _malloc ( globalObj . arr . length * globalObj . arr . BYTES_PER_ELEMENT ) ; // 1
69
- Module . HEAPU8 . set ( globalObj . arr , heapSpace ) ; // 2
70
-
71
- Module . _createImageSet ( heapSpace , globalObj . dpi , globalObj . w , globalObj . h , globalObj . nc , StrBuffer ) ;
72
72
73
- Module . _free ( heapSpace ) ;
74
- Module . _free ( StrBuffer ) ;
73
+ nftMC . createNftDataSet ( globalObj . arr , globalObj . dpi , globalObj . w , globalObj . h , globalObj . nc , paramStr ) ;
75
74
76
75
downloadIset ( ) ;
77
76
} , 500 ) ;
78
77
}
79
78
79
+ window . generate = generate ;
80
+
80
81
function downloadIset ( ) {
81
82
let mime = "application/octet-stream" ;
82
83
83
- let filenameIset = "asa .iset" ;
84
- let filenameFset = "asa .fset" ;
85
- let filenameFset3 = "asa .fset3" ;
84
+ let filenameIset = "tempFilename .iset" ;
85
+ let filenameFset = "tempFilename .fset" ;
86
+ let filenameFset3 = "tempFilename .fset3" ;
86
87
87
88
let ext = ".iset" ;
88
89
let ext2 = ".fset" ;
89
90
let ext3 = ".fset3" ;
90
91
91
- let content = Module . FS . readFile ( filenameIset ) ;
92
- let contentFset = Module . FS . readFile ( filenameFset ) ;
93
- let contentFset3 = Module . FS . readFile ( filenameFset3 ) ;
92
+ let content = nftMC . FS . readFile ( filenameIset ) ;
93
+ let contentFset = nftMC . FS . readFile ( filenameFset ) ;
94
+ let contentFset3 = nftMC . FS . readFile ( filenameFset3 ) ;
94
95
95
- var a = document . createElement ( 'a' ) ;
96
- a . download = name + ext ;
97
- a . href = URL . createObjectURL ( new Blob ( [ content ] , { type : mime } ) ) ;
98
- a . style . display = 'none' ;
96
+ const isetFile = document . createElement ( 'a' ) ;
97
+ isetFile . download = name + ext ;
98
+ isetFile . href = URL . createObjectURL ( new Blob ( [ content ] , { type : mime } ) ) ;
99
+ isetFile . style . display = 'none' ;
99
100
100
- var b = document . createElement ( 'a' ) ;
101
- b . download = name + ext2 ;
102
- b . href = URL . createObjectURL ( new Blob ( [ contentFset ] , { type : mime } ) ) ;
103
- b . style . display = 'none' ;
101
+ const fsetFile = document . createElement ( 'a' ) ;
102
+ fsetFile . download = name + ext2 ;
103
+ fsetFile . href = URL . createObjectURL ( new Blob ( [ contentFset ] , { type : mime } ) ) ;
104
+ fsetFile . style . display = 'none' ;
104
105
105
- var c = document . createElement ( 'a' ) ;
106
- c . download = name + ext3 ;
107
- c . href = URL . createObjectURL ( new Blob ( [ contentFset3 ] , { type : mime } ) ) ;
108
- c . style . display = 'none' ;
106
+ const fset3File = document . createElement ( 'a' ) ;
107
+ fset3File . download = name + ext3 ;
108
+ fset3File . href = URL . createObjectURL ( new Blob ( [ contentFset3 ] , { type : mime } ) ) ;
109
+ fset3File . style . display = 'none' ;
109
110
110
- document . body . appendChild ( a ) ;
111
- a . click ( ) ;
111
+ document . body . appendChild ( isetFile ) ;
112
+ isetFile . click ( ) ;
112
113
113
- document . body . appendChild ( b ) ;
114
- b . click ( ) ;
114
+ document . body . appendChild ( fsetFile ) ;
115
+ fsetFile . click ( ) ;
115
116
116
- document . body . appendChild ( c ) ;
117
- c . click ( ) ;
117
+ document . body . appendChild ( fset3File ) ;
118
+ fset3File . click ( ) ;
118
119
119
- var spinner = document . querySelector ( '.spinner-container' ) ;
120
+ const spinner = document . querySelector ( '.spinner-container' ) ;
120
121
spinner . style . display = 'none' ;
121
122
122
- var okSign = document . querySelector ( '.checkmark-cover' ) ;
123
+ const okSign = document . querySelector ( '.checkmark-cover' ) ;
123
124
okSign . style . display = 'block' ;
124
125
}
125
126
126
127
function getUint8 ( str ) {
127
- let base64 = str . substr ( 23 , str . length ) ;
128
- var raw = atob ( base64 ) ;
129
- var rawLength = raw . length ;
130
- var array = new Uint8Array ( new ArrayBuffer ( rawLength ) ) ;
128
+ const base64 = str . substring ( 23 ) ;
129
+ const raw = atob ( base64 ) ;
130
+ const rawLength = raw . length ;
131
+ const array = new Uint8Array ( new ArrayBuffer ( rawLength ) ) ;
131
132
132
- for ( i = 0 ; i < rawLength ; i ++ ) {
133
+ for ( let i = 0 ; i < rawLength ; i ++ ) {
133
134
array [ i ] = raw . charCodeAt ( i ) ;
134
135
}
135
136
@@ -152,6 +153,7 @@ function setValueFromModal() {
152
153
globalObj . nc = parseInt ( input ) ;
153
154
closeModal ( ) ;
154
155
}
156
+ window . setValueFromModal = setValueFromModal ;
155
157
156
158
function detectColorSpace ( arr ) {
157
159
let target = parseInt ( arr . length / 4 ) ;
@@ -163,12 +165,12 @@ function detectColorSpace(arr) {
163
165
let g = arr [ j + 1 ] ;
164
166
let b = arr [ j + 2 ] ;
165
167
166
- if ( r == g && r == b ) {
168
+ if ( r === g && r = == b ) {
167
169
counter ++ ;
168
170
}
169
171
}
170
172
171
- if ( target == counter ) {
173
+ if ( target === counter ) {
172
174
return 1 ;
173
175
} else {
174
176
return 3 ;
@@ -185,10 +187,10 @@ function useJpeg(e) {
185
187
globalObj . dpi = dpi1 ;
186
188
}
187
189
188
- var nc1 = EXIF . getTag ( this , "ComponentsConfiguration" )
190
+ const nc1 = EXIF . getTag ( this , "ComponentsConfiguration" ) ;
189
191
190
192
if ( isNaN ( nc1 ) || nc1 == null ) {
191
- var nc2 = parseFloat ( EXIF . getTag ( this , "SamplesPerPixel" ) ) ;
193
+ const nc2 = parseFloat ( EXIF . getTag ( this , "SamplesPerPixel" ) ) ;
192
194
if ( isNaN ( nc2 ) || nc2 == null ) {
193
195
// openModal();
194
196
} else {
@@ -206,11 +208,14 @@ function useJpeg(e) {
206
208
function readImage ( e ) {
207
209
reader . onload = function ( event ) {
208
210
209
- var img = new Image ( ) ;
211
+ const img = new Image ( ) ;
210
212
img . onload = function ( ) {
211
- var canvasEl = document . querySelector ( '#imageCanvas' ) ;
212
- canvas . width = canvasEl . clientWidth ;
213
- canvas . height = canvasEl . clientHeight ;
213
+ canvas . width = img . width ;
214
+ canvas . height = img . height ;
215
+
216
+ canvas . style . width = img . width > 1200 ? '1200px' : img . width + 'px' ;
217
+ canvas . style . height = img . height > 1200 ? '1200px' : img . height + 'px' ;
218
+
214
219
215
220
hideCanvas . width = img . width ;
216
221
hideCanvas . height = img . height ;
@@ -223,17 +228,17 @@ function readImage(e) {
223
228
ctx . drawImage ( img , 0 , 0 , img . width , img . height , // source rectangle
224
229
0 , 0 , canvas . width , canvas . height ) ; // destination rectangle
225
230
226
- var imgData = ctxHide . getImageData ( 0 , 0 , hideCanvas . width , hideCanvas . height ) ;
231
+ const imgData = ctxHide . getImageData ( 0 , 0 , hideCanvas . width , hideCanvas . height ) ;
227
232
228
233
let newArr = [ ] ;
229
234
230
235
let verifyColorSpace = detectColorSpace ( imgData . data ) ;
231
236
232
- if ( verifyColorSpace == 1 ) {
237
+ if ( verifyColorSpace === 1 ) {
233
238
for ( let j = 0 ; j < imgData . data . length ; j += 4 ) {
234
239
newArr . push ( imgData . data [ j ] ) ;
235
240
}
236
- } else if ( verifyColorSpace == 3 ) {
241
+ } else if ( verifyColorSpace === 3 ) {
237
242
for ( let j = 0 ; j < imgData . data . length ; j += 4 ) {
238
243
newArr . push ( imgData . data [ j ] ) ;
239
244
newArr . push ( imgData . data [ j + 1 ] ) ;
@@ -243,9 +248,7 @@ function readImage(e) {
243
248
244
249
globalObj . nc = verifyColorSpace ;
245
250
246
- let uint = new Uint8Array ( newArr ) ;
247
-
248
- globalObj . arr = uint ;
251
+ globalObj . arr = new Uint8Array ( newArr ) ;
249
252
250
253
let confidence = calculateQuality ( ) ;
251
254
let confidenceEl = document . getElementById ( "confidenceLevel" ) ;
0 commit comments