从HEIF文件创建CGImage



这是我如何将JPEG或PNG文件加载到CGImage:

imgDataProvider = CGDataProviderCreateWithFilename( [imgFilepath UTF8String] );
if( [[imgFilepath pathExtension] isEqualToString: @"png"] )
{
image = CGImageCreateWithPNGDataProvider(imgDataProvider, NULL, true, kCGRenderingIntentDefault);
}
else if( [[imgFilepath pathExtension] isEqualToString: @"jpg"] || [[imgFilepath pathExtension] isEqualToString: @"jpeg"] )
{
image = CGImageCreateWithJPEGDataProvider(imgDataProvider, NULL, true, kCGRenderingIntentDefault);
}

不幸的是,这不是一个CGImageCreateWithHEIF的变体

如何创建CGImage从一个HEIF编码的图像文件?

这比我想象的要容易

imageSrc = CGImageSourceCreateWithURL( (CFURLRef)[NSURL fileURLWithPath:imgFilepath], nil );
image = CGImageSourceCreateImageAtIndex( imageSrc, 0, nil );

最新更新