Как просматривать непрерывные изображения в пользовательском элементе управления представлением

Я делаю видео приложение в реальном времени. До сих пор я решаю вопрос о том, чтобы непрерывно отправлять изображения (кадры), а также я могу получить эти изображения на другом ноутбуке. Но дело в том, как просматривать изображения в пользовательском элементе управления View и сделать так, чтобы это выглядело как видео? Другими словами, у меня много объектов NSImage, и я хочу просматривать их как видео. С помощьюCGColorSpaceRef"Я новичок в программировании какао для Mac OS X. Кто-нибудь может дать мне немного кода?

1 ответ

#import "ViewController.h"
#import <Quartz/Quartz.h>

@interface ViewController ()
{
    NSArray *activityAnimationImages;
    IBOutlet NSImageView *activityImageView;
}
@end

@implementation ViewController

- (void)viewDidLoad {
[super viewDidLoad];

// Do any additional setup after loading the view.

NSMutableArray *array = [NSMutableArray array];

for (NSUInteger i = 0; i<=29; i++)
{
    //Preloader is a set of images
    NSImage *image = [NSImage imageNamed:[NSString stringWithFormat:@"Preloader_10_000%02lu",(unsigned long)i]];
    [array addObject:image];
}

activityAnimationImages = [NSArray arrayWithArray:array];

//Create layer
CALayer *layer = [CALayer layer];
CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"contents"];
[animation setCalculationMode:kCAAnimationDiscrete];
[animation setDuration:1.0f];
[animation setRepeatCount:HUGE_VALF];
[animation setValues:activityAnimationImages];

[layer setFrame:NSMakeRect(0, 0, 100, 100)];
layer.bounds = NSMakeRect(0, 0, 100, 100);
[layer addAnimation:animation forKey:@"contents"];

[activityImageView setLayer:[CALayer layer]];
[activityImageView setWantsLayer:YES];
[activityImageView.layer addSublayer:layer];
}
Другие вопросы по тегам