UNPKG

editor-render-v2

Version:

编辑器渲染器

72 lines (71 loc) 2.41 kB
import Handler from './Handler'; import { fabric } from 'fabric'; /** * 针对于色彩的处理 */ declare class ColorHandler { /** @ignore */ handler: Handler; /** @ignore */ constructor(handler: Handler); /** * ts属性检测的函数 */ /** @ignore */ is<T extends object>(v: any, k: string): v is T; /** * 将css的渐变属性转换为fabric的渐变 * @param originColor - css渐变属性 * @example * linear-gradient 目前支持角度、left、top、right、bottom的方向填写 * radial-gradient 目前只支持colorStops的配置,其他的例如椭圆等配置不支持 * colorStops目前支持 literal, hex, rgb, rgba * 举例: * linear-gradient(90deg, rgba(26,104,220,1) 0%, rgba(220,26,166,1) 37%, RGBA(130, 127, 41, 1) 69%, rgba(1,1,1,1) 100%) * radial-gradient(circle, #333 0%, #333 50%, #eee 75%, #333 75%) * @returns 转换后的渐变属性 */ cssGradient2FabricGradient(originColor: string): fabric.IGradientOptions; /** * 将css的线性渐变转换为fabric的渐变 * @param linearGradient 解析出来的线性渐变 * @returns */ private linearGradient2Fabric; /** * 将css的径向渐变转换为fabric的渐变 * @param radialGradient 解析出来的径向渐变 * @returns */ private radialGradient2Fabric; /** * 将解析后的colorStops转换为fabric的colorStops * @param colorStops 解析后的colorStops * @returns */ private resetColorStops; /** * fabric的渐变属性转换为css的渐变属性 * @param originGradient - 需要转换的fabric渐变属性 * @returns 转换完成后的css渐变属性 */ fabricGradient2CSSGradient(originGradient: fabric.IGradientOptions | fabric.Pattern | any): string; /** * 获取画布中的主要颜色 * @returns 颜色值数组 */ getCanvasColorsAsync(): Promise<string[]>; /** * 返回fabric的颜色色彩值,如果是纯色直接返回,渐变色返回渐变色的节点色 * @param color 颜色数据 * @returns 返回包含颜色的数组 */ private getObjectColor; /** * 获取图片的多个主要颜色 * @param src 图片src * @returns 图片的多个主要颜色 */ private getImgColorAsync; } export default ColorHandler;