Как просматривать непрерывные изображения в пользовательском элементе управления представлением
Я делаю видео приложение в реальном времени. До сих пор я решаю вопрос о том, чтобы непрерывно отправлять изображения (кадры), а также я могу получить эти изображения на другом ноутбуке. Но дело в том, как просматривать изображения в пользовательском элементе управления 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];
}