Skip to content

数据模糊

🌐 Blurring data

1D、2D 和 RGBA 图片的 方框模糊 实现;支持小数半径。

🌐 A box blur implementation for 1D, 2D, and RGBA images; supports fractional radius.

blur(data, radius)

js
const numbers = d3.cumsum({length: 1000}, () => Math.random() - 0.5);
d3.blur(numbers, 5); // a smoothed random walk

示例 · 来源 · 通过对数组数据应用三次移动平均变换(盒式滤波器)来原地模糊,以快速近似给定半径(非负数)的高斯核。返回给定的数据

blur2({数据, 宽度, 高度}, rx, ry)

🌐 blur2({data, width, height}, rx, ry)

js
const matrix = {
  width: 4,
  height: 3,
  data: [
    1, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 1
  ]
};

d3.blur2(matrix, 1);

示例 · 来源 · 通过应用半径为 rx 的水平模糊和半径为 ry 的垂直模糊(默认为 rx),就地模糊给定 widthheight 的矩阵。矩阵值 data 存储在一个扁平(一维)数组中。如果未指定 height,则根据给定的 widthdata.length 推断。返回模糊后的矩阵 {data, width, height}。

blurImage(imageData, rx, ry)

js
const imageData = context.getImageData(0, 0, width, height);
d3.blurImage(imageData, 5);

示例 · 来源 · 就地模糊给定的 ImageData,通过应用半径为 rx 的水平模糊和半径为 ry 的垂直模糊(默认为 rx)独立地模糊每个 RGBA 图层。返回模糊后的 ImageData。