zoom-image-data
Advanced tools
Comparing version 2.0.1 to 2.0.2
@@ -18,2 +18,6 @@ interface param { | ||
cellWH?: number; | ||
/** Split Cell */ | ||
splitCell?: boolean; | ||
/** Split Cell Size */ | ||
splitCellSize?: number; | ||
} | ||
@@ -57,2 +61,4 @@ declare class ZoomImageData { | ||
invDy: number; | ||
splitCell: boolean; | ||
splitCellSize: number; | ||
constructor(param: param); | ||
@@ -59,0 +65,0 @@ /** |
@@ -15,3 +15,3 @@ (function (factory) { | ||
constructor(param) { | ||
const { inData, inw, inh, outData, outw, outh, cellRatio } = param; | ||
const { inData, inw, inh, outData, outw, outh, cellRatio, splitCell, splitCellSize } = param; | ||
this.inData = new Uint32Array(inData); | ||
@@ -23,2 +23,4 @@ this.inw = inw; | ||
this.outh = outh; | ||
this.splitCell = splitCell || false; | ||
this.splitCellSize = splitCellSize || 2; | ||
const cellWH = param.cellWH || 10; | ||
@@ -42,18 +44,28 @@ this.cellRatio = cellRatio || 1; | ||
update() { | ||
const { inData, inw, zoomw, zoomh, cellW, cellH, outData, outw, outh, invScale, invDx, invDy, } = this; | ||
const { inData, inw, zoomw, zoomh, cellW, cellH, outData, outw, outh, invScale, invDx, invDy, splitCell, splitCellSize, } = this; | ||
const splitX = splitCell && (cellW / invScale) > splitCellSize; | ||
const splitY = splitCell && (cellH / invScale) > splitCellSize; | ||
let lr = -1; | ||
for (let i = 0; i < outh; i++) { | ||
let zoomr = Math.round(i * invScale + invDy); | ||
if (zoomr < 0 || zoomr >= zoomh) { | ||
const r = ~~(zoomr / cellH); | ||
if (zoomr < 0 || zoomr >= zoomh || | ||
(splitY && lr !== r)) { | ||
outData.fill(0, i * outw, (i + 1) * outw); | ||
lr = r; | ||
continue; | ||
} | ||
const r = ~~(zoomr / cellH); | ||
lr = r; | ||
let lc = -1; | ||
for (let j = 0; j < outw; j++) { | ||
let zoomc = Math.round(j * invScale + invDx); | ||
let index = i * outw + j; | ||
if (zoomc < 0 || zoomc >= zoomw) { | ||
const c = ~~(zoomc / cellW); | ||
if (zoomc < 0 || zoomc >= zoomw || | ||
(splitX && lc !== c)) { | ||
outData[index] = 0; | ||
lc = c; | ||
continue; | ||
} | ||
const c = ~~(zoomc / cellW); | ||
lc = c; | ||
outData[index] = inData[r * inw + c]; | ||
@@ -60,0 +72,0 @@ } |
{ | ||
"name": "zoom-image-data", | ||
"version": "2.0.1", | ||
"version": "2.0.2", | ||
"description": "zoom-image-data", | ||
@@ -16,2 +16,3 @@ "main": "dist/index.js", | ||
], | ||
"homepage": "https://github.com/fengqing1101/resize-imagedata#readme", | ||
"license": "ISC", | ||
@@ -18,0 +19,0 @@ "devDependencies": { |
No README
QualityPackage does not have a README. This may indicate a failed publish or a low quality package.
Found 1 instance in 1 package
No website
QualityPackage does not have a website.
Found 1 instance in 1 package
10160
4
258
1
50