@pixzle/browser 0.0.26 → 0.0.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/block.js +7 -5
- package/dist/block.js.map +1 -1
- package/package.json +2 -2
package/dist/block.js
CHANGED
|
@@ -7,20 +7,22 @@ const core_1 = require("@pixzle/core");
|
|
|
7
7
|
* Split an image (HTMLImageElement or ImageBitmap) into blocks
|
|
8
8
|
*/
|
|
9
9
|
function splitImageToBlocks(image, blockSize) {
|
|
10
|
+
const width = image instanceof HTMLImageElement ? image.naturalWidth : image.width;
|
|
11
|
+
const height = image instanceof HTMLImageElement ? image.naturalHeight : image.height;
|
|
10
12
|
const canvas = document.createElement("canvas");
|
|
11
|
-
canvas.width =
|
|
12
|
-
canvas.height =
|
|
13
|
+
canvas.width = width;
|
|
14
|
+
canvas.height = height;
|
|
13
15
|
const ctx = canvas.getContext("2d");
|
|
14
16
|
if (!ctx)
|
|
15
17
|
throw new Error("Could not get 2D context");
|
|
16
18
|
ctx.drawImage(image, 0, 0);
|
|
17
|
-
const imageData = ctx.getImageData(0, 0,
|
|
19
|
+
const imageData = ctx.getImageData(0, 0, width, height);
|
|
18
20
|
// imageData.data is Uint8ClampedArray, we need Uint8Array
|
|
19
21
|
// We create a copy to avoid issues if the canvas is reused or garbage collected in weird ways,
|
|
20
22
|
// though here it's local.
|
|
21
23
|
// coreSplitImageToBlocks expects Uint8Array.
|
|
22
|
-
const buffer = new Uint8Array(imageData.data.buffer);
|
|
23
|
-
return (0, core_1.splitImageToBlocks)(buffer,
|
|
24
|
+
const buffer = new Uint8Array(imageData.data.buffer, imageData.data.byteOffset, imageData.data.byteLength);
|
|
25
|
+
return (0, core_1.splitImageToBlocks)(buffer, width, height, blockSize);
|
|
24
26
|
}
|
|
25
27
|
/**
|
|
26
28
|
* Create an ImageBitmap from blocks
|
package/dist/block.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block.js","sourceRoot":"","sources":["../src/block.ts"],"names":[],"mappings":";;AAQA,
|
|
1
|
+
{"version":3,"file":"block.js","sourceRoot":"","sources":["../src/block.ts"],"names":[],"mappings":";;AAQA,gDA6BC;AAKD,sCAoBC;AA9DD,uCAGsB;AAEtB;;GAEG;AACH,SAAgB,kBAAkB,CAChC,KAAqC,EACrC,SAAiB;IAEjB,MAAM,KAAK,GACT,KAAK,YAAY,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IACvE,MAAM,MAAM,GACV,KAAK,YAAY,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;IAEzE,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAEtD,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAExD,0DAA0D;IAC1D,+FAA+F;IAC/F,0BAA0B;IAC1B,6CAA6C;IAC7C,MAAM,MAAM,GAAG,IAAI,UAAU,CAC3B,SAAS,CAAC,IAAI,CAAC,MAAM,EACrB,SAAS,CAAC,IAAI,CAAC,UAAU,EACzB,SAAS,CAAC,IAAI,CAAC,UAAU,CAC1B,CAAC;IAEF,OAAO,IAAA,yBAAsB,EAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAClE,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,aAAa,CACjC,MAAoB,EACpB,KAAa,EACb,MAAc,EACd,SAAiB;IAEjB,MAAM,MAAM,GAAG,IAAA,0BAAuB,EAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAEzE,mBAAmB;IACnB,MAAM,SAAS,GAAG,IAAI,SAAS,CAC7B,IAAI,iBAAiB,CACnB,MAAM,CAAC,MAAqB,EAC5B,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,UAAU,CAClB,EACD,KAAK,EACL,MAAM,CACP,CAAC;IAEF,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACtC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pixzle/browser",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.28",
|
|
4
4
|
"description": "Browser implementation of image fragmentation and restoration",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@tuki0918/seeded-shuffle": "^1.0.0",
|
|
39
|
-
"@pixzle/core": "0.0.
|
|
39
|
+
"@pixzle/core": "0.0.28"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"happy-dom": "^20.0.11",
|