2010-03-01 1 views
5

Est-il possible de rendre un fichier d'image vectorielle sur l'iPhone de la même manière que l'on peut rendre un fichier bitmap (png, jpeg)? J'ai essayé des fichiers eps et pdf, dont aucun ne semble fonctionner - ils sont affichés correctement dans Interface Builder mais ne s'affichent pas lors de l'exécution.L'iPhone peut-il rendre les fichiers graphiques vectoriels directement? Quels formats sont supportés?

La console affiche un message le long des lignes de « Impossible de charger le « image.pdf » image référencée à partir d'une pointe dans le paquet avec identifiant « com.yourcompany.project » »

Toutes mes recherches sur ce venir avec la discussion de dessiner un fichier vectoriel en utilisant OpenGL, etc. Est-ce le seul moyen? Comme il n'y a aucune mention de support de fichier vectoriel, je ne suis pas sûr si mes fichiers ne sont pas chargés en raison de problèmes avec les fichiers (j'ai essayé différentes versions), ou parce qu'ils ne sont pas pris en charge.

Répondre

1

Les fichiers PDF peuvent être chargés par UIWebView. Si vous avez besoin d'un plus grand contrôle, vous pouvez utiliser Quartz 2D pour rendre les fichiers PDF: Quartz2D

2

Il n'y a pas soutien direct pour les formats graphiques vectoriels comme il est pour PNG et JPEG. Tout rendu de graphiques vectoriels serait effectué par programme, c'est-à-dire en effleurant et en remplissant des objets de chemin à l'aide d'appels de dessin Quartz.

1

Oui, il prend en charge SVG.

Vous pouvez convertir vos fichiers vectoriels en SVG et les convertir en javascript en utilisant une bibliothèque comme Raphael. Mes sites web basés sur Raphael ont des fonctionnalités de type flash et ils sont parfaitement rendus sur l'iPhone - l'avantage des standards web!

4

Vous pouvez générer des images PDF en mode natif et les créer également avec Core Graphics. Quelque chose comme ceci:

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 bien sûr pour SVG.

Questions connexes