我有一个UIImageView
,tintColor
属性设置为.red
。此外,backgroundColor
的{{1}}也设置为UIImageView
图像本身是一个pdf文件,设置为在我的资产目录中呈现为模板。
上图是iPhone X上的输出,下图是在iPhone SE上拍摄的。
我现在的问题是:在着色图片时iOS正在做什么?为什么这两个设备之间存在如此巨大的差异?为什么图像总是比我设置的颜色更暗?
我预计当我设置.red
的{{1}}属性时,图片会以完全相同的颜色显示。
更新:
我添加了一个带有草图文件和导出的pdf的测试项目来重现问题:
答案 0 :(得分:0)
tint属性是将图像中每个像素的规格化(0-1)颜色乘以Red(1,0,0)。结果图像仅应用了红色通道色调(蓝色和绿色均为零)。在SE图像中,蓝色和绿色通道上的色彩不被接受/应用(因为它们为零),因此与其他“着色”方案相比,导致行为不规范,请参阅XNA Draw()颜色参数,该参数似乎在iPhone X的iOS中更正。
要使用较暗的图像,请将TintAdjustmentMode
属性设置为TintAdjustmentMode.dimmed
,否则使用TintAdjustmentMode.normal