跳到主要内容

Util

自有方法

getRandomColor()

返回随机十六进制颜色

示例:

shape.fill(Konva.Util.getRandomColor());

isCanvasFarblingActive()

检查 canvas farbling 是否处于活动状态(例如 Brave 浏览器的指纹保护)

返回值: Boolean

getHitColor()

获取用于命中检测的随机颜色(如果 canvas farbling 处于活动状态,则进行标准化)

返回值: String 十六进制颜色字符串

getHitColorKey(r, g, b)

根据 RGB 值获取命中颜色键(如果 canvas farbling 处于活动状态,则进行标准化)

参数:

  • r(Number):红色分量(0-255)
  • g(Number):绿色分量(0-255)
  • b(Number):蓝色分量(0-255)

返回值: String 十六进制颜色键字符串

getSnappedHexColor(hex)

将十六进制颜色值调整为以 0 结尾(用于 canvas farbling 的标准化)

参数:

  • hex(String):十六进制颜色字符串(例如 "#ff00ff")

返回值: String 标准化的十六进制颜色字符串

getRGB(color)

获取颜色的 RGB 分量

参数:

  • color(String)

示例:

// each of the following examples return {r:0, g:0, b:255}
var rgb = Konva.Util.getRGB('blue');
var rgb = Konva.Util.getRGB('#0000ff');
var rgb = Konva.Util.getRGB('rgb(0,0,255)');

haveIntersection(r1, r2)

检查两个客户端矩形是否相交

参数:

  • r1(Object):{ x, y, width, height } 客户端矩形
  • r2(Object):{ x, y, width, height } 客户端矩形

示例:

const overlapping = Konva.Util.haveIntersection(shape1.getClientRect(), shape2.getClientRect());