UNPKG

konva

Version:

HTML5 2d canvas library for interactive graphics, design editors, whiteboards, and diagrams.

38 lines (37 loc) 1.45 kB
import { Factory } from "../Factory.js"; import { Node } from "../Node.js"; import { getNumberValidator } from "../Validators.js"; /** * Brighten Filter. * @deprecated Use {@link Konva.Filters.Brightness} instead for CSS-compatible behavior. * This filter uses additive brightness adjustment (adds a constant value to RGB channels). * @function * @memberof Konva.Filters * @param {Object} imageData * @example * node.cache(); * node.filters([Konva.Filters.Brighten]); * node.brightness(0.8); */ export const Brighten = function (imageData) { const brightness = this.brightness() * 255, data = imageData.data, len = data.length; for (let i = 0; i < len; i += 4) { // red data[i] += brightness; // green data[i + 1] += brightness; // blue data[i + 2] += brightness; } }; Factory.addGetterSetter(Node, 'brightness', 0, getNumberValidator(), Factory.afterSetFilter); /** * get/set filter brightness. With {@link Konva.Filters.Brighten} it is a number between -1 and 1 * added to every channel: positive values brighten the pixels and negative values darken them. * With {@link Konva.Filters.Brightness} it is a CSS-like multiplier: 1 is no change, 1.5 is 50% brighter. * Both filters leave pixels unchanged when the attribute is unset. An explicit 0 makes Brightness black. * @name Konva.Node#brightness * @method * @param {Number} brightness * @returns {Number} */