Detalhes do pacote

@blazediff/core

teimurjan54.6kMIT1.4.1

Blazing-fast pixel-by-pixel image comparison with block-based optimization. 1.5x times faster than pixelmatch

image, comparison, diff, pixel

readme (leia-me)

@blazediff/core

npm bundle size NPM Downloads

High-performance pixel-by-pixel image comparison with block-based optimization. 20% faster than pixelmatch with zero memory allocation.

Installation

npm install @blazediff/core

API

blazediff(image1, image2, output, width, height, options)

Compare two images and return the number of different pixels.

Parameter Type Description
image1 Uint8Array | Uint8ClampedArray First image data
image2 Uint8Array | Uint8ClampedArray Second image data
output Uint8Array | Uint8ClampedArray Optional output buffer for diff visualization
width number Image width in pixels
height number Image height in pixels
options object Comparison options (optional)

Returns: Number of different pixels

Option Type Default Description Hint
threshold number 0.1 Color difference threshold (0-1) Lower values = more sensitive. 0.05 for strict comparison, 0.2+ for loose comparison
alpha number 0.1 Background image opacity Controls how faded unchanged pixels appear in diff output
aaColor [number, number, number] [255,255,0] Anti-aliasing pixel color Yellow by default. Set to red [255,0,0] to highlight anti-aliasing
diffColor [number, number, number] [255,0,0] Different pixel color Red by default. Use contrasting colors for better visibility
diffColorAlt [number, number, number] - Alternative color for dark differences Helps distinguish light vs dark pixel changes
includeAA boolean false Include anti-aliasing in diff count Set true to count anti-aliasing pixels as actual differences
diffMask boolean false Output only differences (transparent background) Useful for creating overlay masks or highlighting changes only
fastBufferCheck boolean true Use fast buffer check using Buffer.compare Set to false if images are processed differently, but look similiar

Usage

import blazediff from '@blazediff/core';

const diffCount = blazediff(
  image1.data,
  image2.data,
  outputData,
  width,
  height,
  {
    threshold: 0.1,
    alpha: 0.1,
    aaColor: [255, 255, 0],
    diffColor: [255, 0, 0],
    includeAA: false,
    diffMask: false,
    fastBufferCheck: true,
  }
);