gpt4 book ai didi

javascript - 如何克隆有已缓存过滤器的画架位图。

转载 作者:行者123 更新时间:2023-11-28 17:34:10 25 4
gpt4 key购买 nike

...

let blurFilter = new createjs.BlurFilter(blurX, blurY, blurQuality);
bitmap.filters = [blurFilter];
bitmap.cache(0, -blurY, this.width, this.height + blurY);

...

bitmap.clone() doesn't clone the cached bitmap with filters. It only clones the original file image.

I don't want to apply filters twice as it will take lot of time and resources

最佳答案

由于 DisplayObject 不会克隆其缓存(这可能会产生一些意外结果),因此您可以简单地自己分配缓存:

var bmp2 = bmp1.clone();
bmp2.cacheCanvas = bmp1.cacheCanvas;
bmp2.bitmapCache = bmp2.bitmapCache; // Also required for version 1.0+

请注意,如果您使用 updateCache() 更新任一位图,则两个实例都会更新。

我经常使用的一种方法是简单地将cacheCanvas作为新位图的来源。如果您使用比例因子,则必须适应它。

var bmp2 = new createjs.Bitmap(bmp2.cacheCanvas);

如果您使用 WebGL 缓存(通过 StageGL),此方法将不起作用

希望有帮助。

关于javascript - 如何克隆有已缓存过滤器的画架位图。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49550486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com