Improvement
This commit is contained in:
@ -12,7 +12,6 @@ function analyzeTile(imageData: ImageData, tileId: string, tileName: string): Ti
|
||||
const { r, g, b } = getDominantColorFast(imageData)
|
||||
const edge = getEdgeComplexityFast(imageData)
|
||||
const namePrefix = tileName.split('_')[0]
|
||||
|
||||
return {
|
||||
tileId,
|
||||
color: { r, g, b },
|
||||
@ -53,16 +52,14 @@ function getEdgeComplexityFast(imageData: ImageData) {
|
||||
const height = imageData.height
|
||||
let edgePixels = 0
|
||||
|
||||
for (let y = 0; y < height; y += PIXEL_SAMPLE_RATE) {
|
||||
for (let x = 0; x < width; x += PIXEL_SAMPLE_RATE) {
|
||||
// Only check every other row/column
|
||||
for (let y = 0; y < height; y += PIXEL_SAMPLE_RATE * 2) {
|
||||
for (let x = 0; x < width; x += PIXEL_SAMPLE_RATE * 2) {
|
||||
const i = (y * width + x) * 4
|
||||
if (
|
||||
data[i + 3] > 0 &&
|
||||
(x === 0 || y === 0 || x >= width - PIXEL_SAMPLE_RATE || y >= height - PIXEL_SAMPLE_RATE || data[i - 4 * PIXEL_SAMPLE_RATE + 3] === 0 || data[i + 4 * PIXEL_SAMPLE_RATE + 3] === 0 || data[i - width * 4 * PIXEL_SAMPLE_RATE + 3] === 0 || data[i + width * 4 * PIXEL_SAMPLE_RATE + 3] === 0)
|
||||
) {
|
||||
if (data[i + 3] > 0 && (x === 0 || y === 0 || x >= width - PIXEL_SAMPLE_RATE || y >= height - PIXEL_SAMPLE_RATE || data[i - 4 * PIXEL_SAMPLE_RATE + 3] === 0)) {
|
||||
edgePixels++
|
||||
}
|
||||
}
|
||||
}
|
||||
return edgePixels * PIXEL_SAMPLE_RATE
|
||||
return edgePixels * PIXEL_SAMPLE_RATE * 2
|
||||
}
|
||||
|
Reference in New Issue
Block a user