程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用gradientColors从GKNoise创建SKTexture时,颜色“对NSColor Generic Gray Gamma无效”大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决使用gradientColors从GKNoise创建SKTexture时,颜色“对NSColor Generic Gray GAMMa无效”?

开发过程中遇到使用gradientColors从GKNoise创建SKTexture时,颜色“对NSColor Generic Gray GAMMa无效”的问题如何解决?下面主要结合日常开发的经验,给出你关于使用gradientColors从GKNoise创建SKTexture时,颜色“对NSColor Generic Gray GAMMa无效”的解决方法建议,希望对你解决使用gradientColors从GKNoise创建SKTexture时,颜色“对NSColor Generic Gray GAMMa无效”有所启发或帮助;

此基本代码在我尝试添加 gradIEntcolors 之前一直有效:

let noise = GKNoise(srC)
noise.gradIEntcolors = [ 0.0: NScolor.blue,0.5: NScolor.green,0.75: NScolor.white]
let map = GKNoiseMap(noise,size: vector_double2(x: inParams.noiseSize,y: inParams.noiseSizE),origin: vector_double2(x:0,y:0),sampleCount: vector_int2(x: Int32(inParams.sizE),y:Int32(inParams.sizE)),seamless: truE)
let tex = SKTexture(noiseMap: map)

此时我在 Xcode 控制台中得到以下内容,在创建 SKTexture 时:

*** -getRed:green:blue:Alpha: not valID for the NScolor Generic Gray GAMMa 2.2 Profile colorspace 1 1; need to first convert colorspace.

其他人似乎能够做到这一点,所以我不确定我在做什么不同。我不知道在哪里可以设置色彩空间。

@H_324_2@macOS 11.3、Xcode 12.5、SwiftUI 应用。

解决方法

GameplayKit 在幕后对您的每个 getRed(_:green:blue:alpha:) 实例调用 NSColor,并且根据 documentation,此方法仅适用于 calibrateDRGB{ {1}} 个颜色空间(尽管它似乎也适用于其他空间,例如 deviceRGB)。

sRGBNSColor.blue 默认使用 NSColor.green,但 sRGB 使用 .white。转换:

NSColorSpace.genericGray

或者,直接使用其组件实例化颜色,例如let white = NSColor.white.usingColorSpace(.sRGB)! ,将其放入 sRGB。

大佬总结

以上是大佬教程为你收集整理的使用gradientColors从GKNoise创建SKTexture时,颜色“对NSColor Generic Gray Gamma无效”全部内容,希望文章能够帮你解决使用gradientColors从GKNoise创建SKTexture时,颜色“对NSColor Generic Gray Gamma无效”所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: