0
我有一個基礎層,用透明遮罩層遮罩。從CALayer掩碼清除?
面具層有一個子層,一個透明的圓圈。 工作正常,基礎層用圓圈遮罩。
但我想用圓圈清除(清零)遮罩像素。不能滿足。 你能得到我想要的東西嗎?
怎麼樣?
你可以看到這裏的屏蔽圖像的alpha通道。
這是一個60 fps的動畫,所以分配情況/自定義繪製每一幀,我認爲是不是一個解決方案,這將降低性能。
我有一個基礎層,用透明遮罩層遮罩。從CALayer掩碼清除?
面具層有一個子層,一個透明的圓圈。 工作正常,基礎層用圓圈遮罩。
但我想用圓圈清除(清零)遮罩像素。不能滿足。 你能得到我想要的東西嗎?
怎麼樣?
你可以看到這裏的屏蔽圖像的alpha通道。
這是一個60 fps的動畫,所以分配情況/自定義繪製每一幀,我認爲是不是一個解決方案,這將降低性能。
在CALAyer子類中(至少在iOS上,沒有用於混合的任何CIFilter),可以通過定製繪圖執行。正是我想避免的。 :(
的方法有很多,但最簡單的似乎使用了清晰的混合模式。
// Draw with Clear (!) blend mode.
CGContextSetBlendMode(context, kCGBlendModeClear);
CGContextSetFillColorWithColor(context, self.color.CGColor);
CGContextFillPath(context);
甚至不需要任何裁剪或屏蔽。也許我會通過緩存提升性能的路徑效果圖
太複雜的問題措辭...(?) – Geri