RemoteScreenController.m
- (void) setMappedPtr:(unsigned char *)ptr {
m_mappedPtr = ptr;
int bitsPerComponent = 8;
int bitsPerPixel = 32;
int bytesPerRow = 4 * 1680;
CGDataProviderRef provider = CGDataProviderCreateWithData(NULL, m_mappedPtr, 1680*1050*4, NULL);
CGColorSpaceRef colorSpaceRef = CGColorSpaceCreateDeviceRGB();
CGBitmapInfo bitmapInfo = kCGImageAlphaNoneSkipLast;
CGColorRenderingIntent renderingIntent = kCGRenderingIntentDefault;
CGImageRef imageRef = CGImageCreate( 1680, 1050, bitsPerComponent, bitsPerPixel,
bytesPerRow, colorSpaceRef, bitmapInfo, provider, NULL, NO, renderingIntent);
UIImage *myImage = [UIImage imageWithCGImage:imageRef];
myView = [[UIImageView alloc] initWithImage:myImage];
[self.view addSubview:myView];
В моем классе менеджера данных у меня есть ссылка на RemoteScreenController
.Когда первый буфер получен, он вызывает setMappedPtr
, чтобы инициализировать изображение и добавить его в представление.Затем буфер обновляется другим классом.