2015-03-12 2 views
2

В OSX 10.9.5 Я пытаюсь сохранить изображение, захваченное с QTkit в виде файла BMP, но выход файла изображения разрезан (поврежден) только в том случае, если я сохраняю файл BMP, например этоСохранение какао CIImage как изображение файла bmp повреждено

http://imgur.com/ZuQ0NtC

Но если я сохранить изображение как TIFF или PNG-файла все в порядке здесь пример

http://imgur.com/xjJNNRa

код, который я использую

-UPDATE- Изображение поврежден, только если я применить CIfilter на CIImage * I

CIImage *I; 

I=[Video cropImg:I]; 
//saving to disk 
NSBitmapImageRep* rep = [[NSBitmapImageRep alloc]initWithCIImage:I]; 
NSImage *nsImage = [[NSImage alloc] initWithSize:rep.size]; 
[nsImage addRepresentation:rep]; 

NSData *imageData = [nsImage TIFFRepresentation]; 

imageData = [rep representationUsingType:NSBMPFileType properties:NULL]; 

if ([imageData writeToFile:targetPath atomically:NO]==NO) 

{ 
    NSLog(@"Error file"); 
} 

Если я изменить NSBMPFileType к NSPNGFileType изображение нормально, но мне нужно BMP file

ответ

0

Возможно, вам нужно пропустить преобразование в «NSImage», потому что приведенный ниже код работает для меня.

I=[Video cropImg:I]; 
NSBitmapImageRep *rep = [[NSBitmapImageRep alloc]initWithCIImage:I]; 
NSData *imageData = [rep representationUsingType:NSBMPFileType properties:NULL]; 
[imageData writeToURL:fileURL atomically:YES]; 
+0

Нет, не работает, на моем mac изображение нарезано, можете ли вы сказать мне, если вы скомпилировали 32 или 64? Модель вашего mac и ваша версия xcode? – Mex

Смежные вопросы