Я хочу вызвать CGBitmapContextCreate
с текстурой-> данными, чтобы создать CGContextRef
,
и создайте CGImageRef
от CGBitmapContextCreateImage
(контекст).
Однако созданное изображение не соответствует ожиданиям: (
Тот, который создан из CGBitmapContextCreateImage
:
Фактический (немного другой, так как я беру его с другой камерой):
Коды: (texture.bytesPerPixel = 2
)
CGContextRef context = CGBitmapContextCreate(texture.data, 512, 512, 5, 512 * texture.bytesPerPixel, CGColorSpaceCreateDeviceRGB(), kCGImageAlphaNoneSkipFirst);
CGImageRef cg_img = CGBitmapContextCreateImage(context);
UIImage* ui_img = [UIImage imageWithCGImage: cg_img];
UIImageWriteToSavedPhotosAlbum(ui_img, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);
Полный код:
http://ihome.ust.hk/~tm_lksac/OpenGLSprite.m
Приложение обычно вызывает - (void)drawSelfIfNeeded:(BOOL)
необходимо
обновить текстуру в приложении. Но я хочу сделать «снимок экрана» текстуры и сохранить его как UIImage
для дальнейшей обработки изображения.