mirror of
https://github.com/unanmed/HumanBreak.git
synced 2026-11-05 19:44:32 +08:00
feat: 元素滤镜
This commit is contained in:
1 parent
8440f222ac
commit
929ca6f18d
2 files changed
+30
-18
No files matched your search
@@ -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;
|
||||
|
||||
Reference in new issue
Block a user