editor-render-v2
Version:
编辑器渲染器
72 lines (71 loc) • 2.41 kB
TypeScript
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;