Iphone &引用;“50种灰色色调”;在UIImage中。。。(我想我会让这个更吸引人)

Iphone &引用;“50种灰色色调”;在UIImage中。。。(我想我会让这个更吸引人),iphone,ios7,uiimage,Iphone,Ios7,Uiimage,我正在寻找一种简单的方法来指定一个我有灰色阴影的形状(image.png) i、 e根据从0到1的值,我希望我的形状(image.png)显示为黑色(值0)到白色(值1000) 我的形状(image.png)的原始颜色是白色 UIImage *shape = [UIImage imageNamed:@"image.png"]; 提前感谢您可以使用CALayer的掩蔽,您只需使用另一个CALayer来裁剪它 使用纯色创建ui视图,即所需的灰色阴影 使用图像创建CALayer,并将其指定为遮罩 您

我正在寻找一种简单的方法来指定一个我有灰色阴影的形状(image.png)

i、 e根据从0到1的值,我希望我的形状(image.png)显示为黑色(值0)到白色(值1000)

我的形状(image.png)的原始颜色是白色

UIImage *shape = [UIImage imageNamed:@"image.png"];

提前感谢

您可以使用
CALayer的掩蔽
,您只需使用另一个
CALayer
来裁剪它

  • 使用纯色创建
    ui视图
    ,即所需的灰色阴影
  • 使用图像创建
    CALayer
    ,并将其指定为遮罩
  • 您可以随时更改背景色
  • 代码:


    使用UIImageRenderingModeAlwaysTemplate

    imageView.image = [[UIImage imageNamed:@"shapeWithTransparancy"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
    imageView.tintColor = [UIColor colorWithWhite:sliderVal alpha:1.];
    

    这在stackoverflow社区中不是一个可接受的答案,所以我会将其写在评论中。这种技术叫做掩蔽。稍后我将尝试为您编写一些代码,但现在,我将给您留下此链接。谢谢我尝试过掩蔽,但我想知道是否有更简单的方法来做到这一点。我现在正在做的是(工作正常,但不是很准确)我有两个相同的图像(一个黑色的,一个白色的,在彼此的顶部),然后玩alpha,这样我就可以实现一些灰度。。。但正如我所说,这并不十分准确乔治·阿斯达(George Asda)16分钟前说,例如,我有一个值为0到1000的UISlider和一个UIImage(image.png)。当用户滑动滑块时,图像“颜色”从白色变为黑色(通过灰度值)。图像中有什么?是纯色还是透明的?它只有阿尔法级别的白色?这是一个不规则的形状,透明,纯白。就是这样!那正是我想要的!谢谢你,伙计!请记住,如果用户在其辅助功能设置中启用深色,则颜色将错误。此外,对于除灰色以外的任何其他颜色,当
    tintAdjustmentMode
    变为
    UIViewTintAdjustmentModeDimmed
    时,此解决方案将失败。谢谢。我不是在找灰色以外的颜色。我还将提出关于“颜色变深”的警告。再次感谢。这真的不复杂。这是正确的掩蔽方法,使用
    tintColor
    (在另一个答案中)只是达到类似效果的技巧。谢谢。但我不是在找掩蔽。我在寻找尽可能少的努力去做上面所说的被接受的答案。
    imageView.image = [[UIImage imageNamed:@"shapeWithTransparancy"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
    imageView.tintColor = [UIColor colorWithWhite:sliderVal alpha:1.];