gpt4 book ai didi

iphone - CGImageDestinationCreateWithData 没有创建 CGImageDestinationRef 对象

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:07:03 26 4
gpt4 key购买 nike

我确定这很简单,但我就是找不到。

我正在尝试使用 CGImageDestinationCreateWithData 函数创建一个 CGImageDestinationRef,但它返回 nil。

函数文档:

http://developer.apple.com/library/ios/documentation/GraphicsImaging/Reference/CGImageDestination/Reference/reference.html#//apple_ref/c/func/CGImageDestinationCreateWithData

函数非常简单,但我似乎无法让它返回一个对象。我在 ARC 类中,因此函数周围有一个桥接包装器。

我的代码片段:

NSMutableData *data = [[NSMutableData alloc] init];
CGImageDestinationRef imageDestination = nil;

imageDestination = (__bridge CGImageDestinationRef) CFBridgingRelease(CGImageDestinationCreateWithData ((__bridge CFMutableDataRef)data, (__bridge CFStringRef)type, 1, NULL));

if (!imageDestination)
NSLog(@"This is always called. :-(");

如果有人发现我在做蠢事,我将不胜感激!

最佳答案

我已经解决了它并将答案发布在这里,因为它可能会在将来帮助其他人。

我有一个类型设置为@"image/jpg",这似乎不起作用(文档建议它应该)。

当我将类型更改为@"public.jpeg"时,函数开始按预期工作。

根据 Jim 在下面评论中的提示,这就是我最终从 URL 中找到正确 UTI 类型的方法:

NSString *uti = CFBridgingRelease(UTTypeCreatePreferredIdentifierForTag(kUTTagClassMIMEType, (__bridge CFStringRef)[NSString stringWithFormat:@"image/%@", url.pathExtension], kUTTypeImage));

关于iphone - CGImageDestinationCreateWithData 没有创建 CGImageDestinationRef 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11307328/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com