Skip to content

DDeiUtil

  DDeiUtilDDei在图形运行时的一个工具类,包含了常见的全局变量、配置和公共函数。   DDeiUtilDDeiEditorUtil的区别在于,DDeiUtil主要服务于在图形运行时,而非整个设计器的运行时。   DDeiUtil中有一部分方法需和DDeiEditorUtil共用,这些方法一般在DDeiEditorUtil中定义。

属性

属性名说明数据类型静态默认值备注
USER_OS当前用户操作系统string
DRAW_TEMP_CANVAS输出到临时canvasbooleantrue
offsetX临时坐标xnumbernull
offsetY临时坐标ynumbernull
screenX临时坐标xnumbernull
screenY临时坐标ynumbernull
recentlyChooseColors最新选择颜色object[]null

钩子方法

static getAttrValueByConfig

  钩子函数,调用外部的配置属性读取函数,由外部调用者初始化

static getControlDefine

  钩子函数,调用外部的配置属性读取函数,由外部调用者初始化

static getMenuConfig

  钩子函数,获取菜单的函数,由外部调用者初始化

static getMenuControlId

  钩子函数,获取菜单的控件ID,用于显示菜单,控制样式等

static showContextMenu

  钩子函数,显示右键菜单等

static getSubControlJSON

  钩子函数,返回控件的子控件定义,用于创建控件时自动创建子控件

static getLineInitJSON

  钩子函数,返回线控件的定义

static getBusiData

  钩子函数,获取业务数据

static getEditorId

  钩子函数,获取编辑器ID

static invokeCallbackFunc

  钩子函数,调用回调函数

static notifyChange

  钩子函数,通知改变

static isBackActive

  钩子函数,判断当前实例是否可以在后台激活,允许后台激活的实例,在当前实例为非ACTIVE_INSTANCE时,依然能够执行部分后台操作

方法

static getUniqueCode

  获取设计器实例唯一ID

参数   无

返回值

类型备注
string唯一编码字符串

static rgb2hex

  rgb字符串转16进制颜色字符串

参数

参数名类型范围默认值备注
colorstringrgb(r,g,b)

返回值

类型备注
string颜色16进制字符串

static hex2rgb

  16进制颜色字符串转rgb字符串

参数

参数名类型范围默认值备注
colorstring#00ff00

返回值

类型备注
string颜色rgb字符串

static hex2ddeicolor

  16进制颜色字符串转DDeiColor

参数

参数名类型范围默认值备注
colorstring#00ff00

返回值

类型备注
DDeiColorDDei颜色对象
DDeiColor.rred
DDeiColor.ggreen
DDeiColor.bblue
DDeiColor.aalpha

static getPixelRatio

  获取屏幕像素比

参数

参数名类型范围默认值备注
ctxCanvas.Contextcanvas.getContext("2d")

返回值

类型备注
number像素比

static getDPI

  获取显示器DPI

参数   无

返回值

类型备注
objectdpi信息

static unitToPix

  将任意单位的长度转换为像素

参数

参数名类型范围默认值备注
numbernumber
unitstringmm/cm/m/inch单位
dpinumber屏幕dpi值

返回值

类型备注
nunber像素值

static mmToPix

  毫米转换为像素

参数

参数名类型范围默认值备注
numbernumber
dpinumber屏幕dpi值

返回值

类型备注
nunber像素值

static cmToPix

  厘米转换为像素

参数

参数名类型范围默认值备注
numbernumber
dpinumber屏幕dpi值

返回值

类型备注
nunber像素值

static mToPix

  米转换为像素

参数

参数名类型范围默认值备注
numbernumber
dpinumber屏幕dpi值

返回值

类型备注
nunber像素值

static inchToPix

  英寸转换为像素

参数

参数名类型范围默认值备注
numbernumber
dpinumber屏幕dpi值

返回值

类型备注
nunber像素值

static round

  四舍五入保留小数位数

参数

参数名类型范围默认值备注
num1number数字
posnumber小数位数

返回值

类型备注
number运算结果

static preciseAdd

  精准返回两个数的和

参数

参数名类型范围默认值备注
num1number
num2number

返回值

类型备注
number运算结果

static preciseSub

  精准返回两个数的差

参数

参数名类型范围默认值备注
num1number
num2number

返回值

类型备注
number运算结果

static preciseTimes

  精准返回两个数的积

参数

参数名类型范围默认值备注
num1number
num2number

返回值

类型备注
number运算结果

static preciseDiv

  精准返回两个数的商

参数

参数名类型范围默认值备注
num1number
num2number不能为0

返回值

类型备注
number运算结果

static formatNumber

  格式化数字

参数

参数名类型范围默认值备注
numnumber数字
decimalnumber小数位数
splitstring千分符

返回值

类型备注
string格式化后的数字

static formatDate

  格式化时间

参数

参数名类型范围默认值备注
dateDate时间
fmtstring格式化字符串

返回值

类型备注
string格式化后的时间

static toBigMoney

  将数字金额转换为人民币大写形式

参数

参数名类型范围默认值备注
moneynumber金额

返回值

类型备注
string人民币大写字符串

static isAccess

  判断是否具有某种权限

参数

参数名类型范围默认值备注
operateDDeiEnumOperateTypestring
controlDDeiAbstractShape控件,可以为空
propNamestring属性,可以为空
modestringEDIT/VIEWEDIT模式
ddInstanceDDeiDDei实例

返回值

类型备注
number运算结果

static pointsToZero

  将多个点逆缩放,并平移到0点,返回新的点 参数

参数名类型范围默认值备注
pointsVector3[]要归0的点坐标集合
cpvVector30点坐标
rotatenumber0当前旋转角度

返回值

类型备注
Vector3[]新的点集合

static zeroToPoints

  将中心点位于0的多个点,缩放、旋转、平移到新的中心点,返回新的点 参数

参数名类型范围默认值备注
pointsVector3[]要归0的点坐标集合
cpvVector30点坐标
rotatenumber0当前旋转角度
scaleXnumber1X轴缩放
scaleYnumber1Y轴缩放

返回值

类型备注
Vector3[]新的点集合

static getRotatedPoint

  获取某个点旋转后的坐标 参数

参数名类型范围默认值备注
pointobject
point.xobject点x
point.yobject点y
rotatenumber0旋转角度

返回值

类型备注
object旋转后的点坐标

static getLineAngle

  返回线相对于屏幕坐标系的角度 参数

参数名类型范围默认值备注
x1number端点1x
y1number端点1y
x2number端点2x
y2number端点2y

返回值

类型备注
number角度

static isLineCross

  判断两条线是否相交 参数

参数名类型范围默认值备注
line1object线1
line1.x1number线1端点1x
line1.y1number线1端点1y
line1.x2number线1端点2x
line1.y2number线1端点2y
line2object线2
line2.x1number线2端点1x
line2.y1number线2端点1y
line2.x2number线2端点2x
line2.y2number线2端点2y

返回值

类型备注
boolean是否相交

static getLineCorssPoint

  返回两条线段的交点 参数

参数名类型范围默认值备注
p1object线1端点1
p1.xnumber线1端点1x
p1.ynumber线1端点1y
p2object线1端点2
p2.xnumber线1端点2x
p2.ynumber线1端点2y
p3object线2端点1
p3.xnumber线2端点1x
p3.ynumber线2端点1y
p4object线2端点2
p4.xnumber线2端点2x
p2.ynumber线2端点2y

返回值

类型备注
object交点

static isRectCross

  判断两个矩形是否相交

参数

参数名类型范围默认值备注
rect1object矩形1
rect1.xnumber矩形1x
rect1.ynumber矩形1y
rect1.widthnumber矩形1宽度
rect1.heightnumber矩形1高度
rect2object矩形2
rect2.xnumber矩形2x
rect2.ynumber矩形2y
rect2.widthnumber矩形2宽度
rect2.heightnumber矩形2高度

返回值

类型备注
boolean是否相交

static isPointInLine

  判断点是否在线上

参数

参数名类型范围默认值备注
pointobject判定点
point.xnumber判定点x
point.ynumber判定点y
p1object线端点1
p1.xnumber线端点1x
p1.ynumber线端点1y
p2object线端点2
p2.xnumber线端点2x
p2.ynumber线端点2y

返回值

类型备注
boolean是否在线上

static getPointDistance

  求两点距离

参数

参数名类型范围默认值备注
x1number点1x
y1number点1y
x2number点2x
y2number点2y

返回值

类型备注
number距离

static cloneModel

  克隆一个控件的关键属性,再创建一个新控件 参数

参数名类型范围默认值备注
controlDDeiAbstractShape图形控件
isShadowControlbooleanfalse是否影子控件

返回值

类型备注
DDeiAbstractShape新控件

static getSortedModels

  按从上到下从左到右的顺序排序控件 参数

参数名类型范围默认值备注
controlsDDeiAbstractShape[]控件集合

返回值

类型备注
DDeiAbstractShape[]排序后控件

static canvasToImage

  将canvas转为图片

参数

参数名类型范围默认值备注
canvasCanvas

返回值

类型备注
Promise
Promise.string图片base64

static cutStageToImages

  将当前实例的stage转换为image

参数

参数名类型范围默认值备注
ddInstanceDDeiDDei实例
widthnumber目标宽度
heightnumber目标高度

返回值

类型备注
string图片base64

static async cutStageToImages

  将当前实例的stage按一定大小比例剪切为多张图片

参数

参数名类型范围默认值备注
ddInstanceDDeiDDei实例
stageDDeiStage舞台实例
widthnumber舞台宽度
heightnumber舞台高度
sxnumber剪切区域开始x
synumber剪切区域开始y
exnumber剪切区域结束x
eynumber剪切区域结束y
scaleSizenumber2缩放比率,越大越清晰,但是会增加体积
bgbooleanfalse输出背景
maskbooleanfalse输出水印
autoScalebooleanfalse强制缩放,让所有内容都输出到当前单张纸张大小

返回值

类型备注
string[]图片base64集合

static dataURLtoBlob

  将dataUrl转换成Blob数据

参数

参数名类型范围默认值备注
dataurlstringdataurl

返回值

类型备注
Blob转换后的数据

static getPaperSize

  根据配置获取纸张大小

参数

参数名类型范围默认值备注
stageDDeiStage舞台实例
paperTypestringA1-A5、B1-B5等A4
useRatbooleantrue按屏幕清晰度缩放

返回值

类型备注
object纸张大小
object.width纸张宽度
object.height纸张高度

static toRulerCoord

  将页面坐标(像素)转换为标尺坐标

参数

参数名类型范围默认值备注
pointobject转换点
point.xnumber转换点x
point.ynumber转换点y
stageDDeiStage舞台实例
unitstringcm、mm、inch、m单位

返回值

类型备注
object坐标
object.x坐标x
object.y坐标y
object.unit坐标单位

static toPageCoord

  将标尺坐标转换为页面坐标(像素)

参数

参数名类型范围默认值备注
pointobject转换点
point.xnumber转换点x
point.ynumber转换点y
stageDDeiStage舞台实例
unitstringcm、mm、inch、m单位

返回值

类型备注
object坐标
object.x坐标x
object.y坐标y

static getModelsDomAbsPosition

  返回模型外接矩形在页面中的坐标

参数

参数名类型范围默认值备注
modelsDDeiAbstractShape[]控件集合

返回值

类型备注
object坐标
object.left坐标x
object.top坐标y
object.cLeftcanvas坐标x
object.cTopcanvas坐标y
object.cWidthcanvas宽度
object.cHeightcanvas高度

static getDomAbsPosition

  返回Dom元素在页面中的坐标

参数

参数名类型范围默认值备注
elementElementDom元素

返回值

类型备注
object坐标
object.left坐标x
object.top坐标y

static isSafari

  判断当前是否为safari浏览器

参数   无

返回值

类型备注
boolean是或否

技术支持

QQ:3697355039
微信公众号:ddei757