在OSX 10.9.5上我尝试将使用QTkit抓取的图像保存为BMP文件,但只有当我保存为bmp文件时,图像文件输出才被切片(损坏),就像这样
但是,如果我将图像保存为TIFF或PNG文件,这里的一切都是正确的
我使用的代码是
-UPDATE - 只有在CIImage上应用CIfilter时,图像才会损坏我
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文件
答案 0 :(得分:0)
也许,你应该跳过转换为" NSImage"因为下面的代码适合我。
I=[Video cropImg:I];
NSBitmapImageRep *rep = [[NSBitmapImageRep alloc]initWithCIImage:I];
NSData *imageData = [rep representationUsingType:NSBMPFileType properties:NULL];
[imageData writeToURL:fileURL atomically:YES];