iPhone能否直接渲染矢量图形文件?支持哪些格式?
在iPhone上渲染矢量图像文件的方式是否与渲染位图(png、jpeg)文件的方式相同?我尝试过eps和pdf文件,它们似乎都不起作用——它们在Interface Builder中正确显示,但在运行时不显示 控制台输出一条消息,内容为“无法加载从捆绑包中标识为“com.yourcompany.project”的nib引用的“image.pdf”图像”iPhone能否直接渲染矢量图形文件?支持哪些格式?,iphone,vector-graphics,file-type,Iphone,Vector Graphics,File Type,在iPhone上渲染矢量图像文件的方式是否与渲染位图(png、jpeg)文件的方式相同?我尝试过eps和pdf文件,它们似乎都不起作用——它们在Interface Builder中正确显示,但在运行时不显示 控制台输出一条消息,内容为“无法加载从捆绑包中标识为“com.yourcompany.project”的nib引用的“image.pdf”图像” 我在这方面的所有搜索都讨论了使用OpenGL绘制矢量文件等。这是唯一的方法吗?由于没有提到矢量文件支持,我不确定是否由于文件问题(我尝试了不同版本
我在这方面的所有搜索都讨论了使用OpenGL绘制矢量文件等。这是唯一的方法吗?由于没有提到矢量文件支持,我不确定是否由于文件问题(我尝试了不同版本)或不支持而没有加载我的文件。UIWebView可以加载PDF。如果您需要更多控制,可以使用Quartz 2D渲染PDF:与PNG和JPEG一样,不直接支持矢量图形格式。任何矢量图形渲染都将以编程方式完成,即使用Quartz绘图调用笔划和填充路径对象。是的,它支持SVG
您可以将矢量文件转换为SVG,并使用Raphael之类的库将其转换为javascript进行渲染。我的基于拉斐尔的网站具有类似flash的功能,它们在iPhone上呈现得非常完美——这得益于web标准 可以以本机方式渲染PDF图像,也可以使用核心图形创建它们。大概是这样的:
void DrawPDF (CGContextRef context, NSString *name)
{
NSURL *url = [NSURL fileURLWithPath: [[NSBundle mainBundle] pathForResource: name ofType: @"pdf"]];
CGPDFDocumentRef doc = CGPDFDocumentCreateWithURL((CFURLRef)url);
CGPDFPageRef page = CGPDFDocumentGetPage(doc, 1);
CGRect box = CGPDFPageGetBoxRect(page, kCGPDFCropBox); //kCGPDFArtBox);
CGContextDrawPDFPage(context, page);
CGPDFDocumentRelease(doc);
}
当然是SVG的UIWebView。您可以使用类似的方法将SVG文件转换为核心图形Objective-C代码