UIImage中的“50种灰色阴影”......(我想我会让它变得更有吸引力)

时间:2013-12-21 00:27:28

标签: iphone ios7 uiimage

我正在寻找一种简单的方法来分配一个形状(image.png),我有一片灰色。

,根据我从0到1的值,我希望我的shape(image.png)显示为黑色(值0)为白色(值1000)。

my shape(image.png)的原始颜色为白色。

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

提前致谢

2 个答案:

答案 0 :(得分:2)

使用 UIImageRenderingModeAlwaysTemplate

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

答案 1 :(得分:0)

您可以使用CALayer的屏蔽,只需使用其他CALayer进行裁剪。

  1. 使用纯色创建UIView - 所需的灰色阴影。
  2. 使用图片创建CALayer并将其指定为蒙版。
  3. 您可以随时更改背景颜色。
  4. 代码:

    UIView *imageView = [[UIView alloc] init]; // We call it "image" view ;)
    imageView.frame = placeItWhereverYouWant;
    
    CALayer *mask = [CALayer layer];
    mask.contents = (__bridge id)[yourImageHere CGImage];
    mask.frame = imageView.layer.bounds; // Frame of the mask is sometimes tricky.
    imageView.layer.mask = mask;
    
    CGFloat shadeOfGray = 0.7;
    imageView.backgroundColor = [UIColor colorWithWhite:shadeOfGray alpha:1];