feat: 元素滤镜

This commit is contained in:
AncTe committed 2024-08-27 00:29:47 +08:00
1 parent 8440f222ac
commit 929ca6f18d
2 files changed
+30 -18

No files matched your search

+12
View File
@@ -162,6 +162,8 @@ export abstract class RenderItem<E extends ERenderItemEvent = ERenderItemEvent>
antiAliasing: boolean = true;
/** 是否被隐藏 */
hidden: boolean = false;
/** 滤镜 */
filter: string = 'none';
/** 当前元素的父元素 */
parent?: RenderItem & IRenderChildable;
@@ -226,6 +228,7 @@ export abstract class RenderItem<E extends ERenderItemEvent = ERenderItemEvent>
const ay = -this.anchorY * this.height;
canvas.ctx.save();
canvas.ctx.filter = this.filter;
canvas.setAntiAliasing(this.antiAliasing);
if (this.type === 'static') transformCanvas(canvas, tran);
if (this.enableCache) {
@@ -257,6 +260,15 @@ export abstract class RenderItem<E extends ERenderItemEvent = ERenderItemEvent>
this.transform.setTranslate(x, y);
}
/**
* 设置本元素的滤镜
* @param filter 滤镜
*/
seyFilter(filter: string) {
this.filter = filter;
this.update(this);
}
setAnchor(x: number, y: number): void {
this.anchorX = x;
this.anchorY = y;