2010-03-01 87 views
5

是否有可能呈現在iPhone上的矢量圖像文件,就像可以呈現位圖(png,jpeg)文件一樣?我試過了eps和pdf文件,這兩種文件似乎都不起作用 - 它們在Interface Builder中正確顯示,但在運行時不顯示。iPhone可以直接渲染矢量圖形文件嗎?支持哪些格式?

控制檯輸出沿着線消息「無法加載從筆尖引用與標識符‘com.yourcompany.project’束中的‘image.pdf’圖像」

我在此所有搜索拿出使用OpenGL繪製矢量文件的討論等。這是唯一的方法嗎?由於沒有提及矢量文件支持,我不確定是否因爲文件問題(我嘗試了不同的版本)而未加載我的文件,或者因爲它們不受支持。

回答

1

PDFs可以通過UIWebView加載。如果你需要更多的控制,你可以使用Quartz 2D渲染PDF:Quartz2D

2

沒有直接支持像PNG和JPEG這樣的矢量圖形格式。任何矢量圖形渲染都將以編程方式完成,即使用Quartz繪圖調用來撫摸和填充路徑對象。

1

是的,它支持SVG。

您可以將您的矢量文件轉換爲SVG並使用Raphael等庫轉換爲JavaScript。我的基於Raphael的網站具有類似Flash的功能,並且它們在iPhone上完美呈現 - Web標準的優勢!

4

一個人可以本地渲染PDF圖像,並使用Core Graphics創建它們。這樣的事情:

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); 
} 

UIWebView當然SVG。

相關問題