完整错误是“无法渲染 921600 像素,因为 CIKernel 的 ROI 功能不允许平铺。” 每次我尝试用翻译转换 ciImage 时。
代码很简单:
var flippedGradient = gradient.transformed(by:CGAffineTransform(scaleX: -1, y: 1))
flippedGradient = gradient.transformed(by:CGAffineTransform(translationX: flippedGradient.extent.width, y: 0)) // causes error
// mask hue 2 with gradient with transparent background
let alphaMaskBlend2 = CIFilter(name: "CIBlendWithAlphaMask",
withInputParameters: [kCIInputImageKey: hue2,
kCIInputBackgroundImageKey: transBGCI,
kCIInputMaskImageKey:flippedGradient])?.outputImage
进行翻译会导致错误并使我整个屏幕变灰,而不是正常渲染图像。
相关线程,没有与我如何翻译 ciImage 相关的分辨率: iOS 10:CIKernel 的 ROI 功能不允许平铺