xref: /aosp_15_r20/external/webrtc/examples/objc/AppRTCMobile/ios/UIImage+ARDUtilities.m (revision d9f758449e529ab9291ac668be2861e7a55c2422)
1*d9f75844SAndroid Build Coastguard Worker/*
2*d9f75844SAndroid Build Coastguard Worker *  Copyright 2015 The WebRTC Project Authors. All rights reserved.
3*d9f75844SAndroid Build Coastguard Worker *
4*d9f75844SAndroid Build Coastguard Worker *  Use of this source code is governed by a BSD-style license
5*d9f75844SAndroid Build Coastguard Worker *  that can be found in the LICENSE file in the root of the source
6*d9f75844SAndroid Build Coastguard Worker *  tree. An additional intellectual property rights grant can be found
7*d9f75844SAndroid Build Coastguard Worker *  in the file PATENTS.  All contributing project authors may
8*d9f75844SAndroid Build Coastguard Worker *  be found in the AUTHORS file in the root of the source tree.
9*d9f75844SAndroid Build Coastguard Worker */
10*d9f75844SAndroid Build Coastguard Worker
11*d9f75844SAndroid Build Coastguard Worker#import "UIImage+ARDUtilities.h"
12*d9f75844SAndroid Build Coastguard Worker
13*d9f75844SAndroid Build Coastguard Worker@implementation UIImage (ARDUtilities)
14*d9f75844SAndroid Build Coastguard Worker
15*d9f75844SAndroid Build Coastguard Worker+ (UIImage *)imageForName:(NSString *)name color:(UIColor *)color {
16*d9f75844SAndroid Build Coastguard Worker  UIImage *image = [UIImage imageNamed:name];
17*d9f75844SAndroid Build Coastguard Worker  if (!image) {
18*d9f75844SAndroid Build Coastguard Worker    return nil;
19*d9f75844SAndroid Build Coastguard Worker  }
20*d9f75844SAndroid Build Coastguard Worker  UIGraphicsBeginImageContextWithOptions(image.size, NO, 0.0f);
21*d9f75844SAndroid Build Coastguard Worker  [color setFill];
22*d9f75844SAndroid Build Coastguard Worker  CGRect bounds = CGRectMake(0, 0, image.size.width, image.size.height);
23*d9f75844SAndroid Build Coastguard Worker  UIRectFill(bounds);
24*d9f75844SAndroid Build Coastguard Worker  [image drawInRect:bounds blendMode:kCGBlendModeDestinationIn alpha:1.0f];
25*d9f75844SAndroid Build Coastguard Worker  UIImage *coloredImage = UIGraphicsGetImageFromCurrentImageContext();
26*d9f75844SAndroid Build Coastguard Worker  UIGraphicsEndImageContext();
27*d9f75844SAndroid Build Coastguard Worker
28*d9f75844SAndroid Build Coastguard Worker  return coloredImage;
29*d9f75844SAndroid Build Coastguard Worker}
30*d9f75844SAndroid Build Coastguard Worker
31*d9f75844SAndroid Build Coastguard Worker@end
32