ICADownloadFile的kRotateImage标志如何工作?

时间:2009-06-12 19:21:51

标签: objective-c macos

我正在尝试使用Image Capture API从相机中抓取图片。 header filekRotateImage函数提及rotationAngle标记和ICADownloadFile参数。但是我不能让它工作。 API似乎只是忽略我的请求。任何人都知道这是一个已知问题还是我做错了什么?

以下是我程序的摘录:

ICADownloadFilePB pb = {};
pb.object        = [[picInfo objectForKey:@"icao"] longValue];
pb.dirFSRef      = &downloadFolderFSRef;        
pb.rotationAngle = FloatToFixed(90.0);  // edit
pb.flags         = kAdjustCreationDate | kRotateImage;
ICADownloadFile(&pb, getDownloadCallback);

2 个答案:

答案 0 :(得分:1)

rotationAngle不是int类型;它是一种“固定”数据类型。定义:

此数据类型使用16位有符号整数和16位分数来表示定点十进制数...

请改为尝试:

pb.rotationAngle = FloatToFixed(90.0);

答案 1 :(得分:0)

文档说这个参数是“以90度为单位的旋转角度”(http://developer.apple.com/mac/library/documentation/GraphicsImaging/Reference/ImageCaptureServicesRef/ICAApplication_h/index.html#//apple_ref/c/tdef/ICADownloadFilePB)。

所以试试:

pb.rotationAngle = FloatToFixed(1.0f);