Fix black pattern appearance

This commit is contained in:
Ali 2021-06-17 23:16:07 +04:00
parent 493ac83891
commit e6147b501f

View File

@ -117,6 +117,7 @@ final class SettingsThemeWallpaperNode: ASDisplayNode {
} else if case let .color(color) = wallpaper {
colors = [color]
}
let isBlack = UIColor.average(of: colors.map(UIColor.init(rgb:))).hsb.b <= 0.01
if colors.count >= 3 {
if let gradientNode = self.gradientNode {
gradientNode.updateColors(colors: colors.map { UIColor(rgb: $0) })
@ -130,9 +131,13 @@ final class SettingsThemeWallpaperNode: ASDisplayNode {
if intensity < 0.0 {
self.imageNode.layer.compositingFilter = nil
} else {
if isBlack {
self.imageNode.layer.compositingFilter = nil
} else {
self.imageNode.layer.compositingFilter = "softLightBlendMode"
}
}
self.backgroundNode.image = nil
} else {
if let gradientNode = self.gradientNode {
@ -142,9 +147,13 @@ final class SettingsThemeWallpaperNode: ASDisplayNode {
if intensity < 0.0 {
self.imageNode.layer.compositingFilter = nil
} else {
if isBlack {
self.imageNode.layer.compositingFilter = nil
} else {
self.imageNode.layer.compositingFilter = "softLightBlendMode"
}
}
if colors.count >= 2 {
self.backgroundNode.image = generateGradientImage(size: CGSize(width: 80.0, height: 80.0), colors: colors.map(UIColor.init(rgb:)), locations: [0.0, 1.0], direction: .vertical)