IPhone может представить файлы векторной графики непосредственно? Какие форматы поддерживаются?

Действительно ли возможно представить файл векторного изображения на iPhone таким же образом, что можно представить битовый массив (png, jpeg) файл? Я попробовал eps и файлы PDF, ни один из которых, кажется, не работает – они отображены правильно в Интерфейсном Разработчике, но не отображаются, когда выполнено.

Консоль производит сообщение вроде, 'Не мог загрузить изображение "image.pdf", на которое ссылаются из пера в пакете с идентификатором "com.yourcompany.project"'

Все мои поиски на этом придумывают обсуждение рисования векторные файлы с помощью OpenGL и т.д. Действительно ли это - единственный путь? С тех пор нет никакого упоминания о векторной поддержке файла, я не уверен, если мои файлы не загружаются из-за проблем с файлами (я попробовал различные версии), или потому что они не поддерживаются.

5
задан Stephen 1 March 2010 в 20:09
поделиться

4 ответа

PDF-файлы могут быть загружены с помощью UIWebView. Если вам нужно больше контроля, вы можете использовать Quartz 2D для рендеринга PDF-файлов: Quartz2D

1
ответ дан 14 December 2019 в 01:06
поделиться

Да, он поддерживает SVG.

Вы можете конвертировать ваши векторные файлы в SVG и визуализировать их путем преобразования в javascript с помощью такой библиотеки, как Raphael. Мои веб-сайты на основе Raphael имеют функциональность, подобную flash, и они прекрасно отображаются на iPhone - преимущество веб-стандартов!

1
ответ дан 14 December 2019 в 01:06
поделиться

Нет прямой поддержки форматов векторной графики, как это есть для PNG и JPEG. Любой рендеринг векторной графики будет выполняться программно, то есть обводка и заливка объектов контура с использованием вызовов рисования Quartz.

2
ответ дан 14 December 2019 в 01:06
поделиться

С помощью Core Graphics можно рендерить изображения 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);
}

UIWebView конечно для SVG.

4
ответ дан 14 December 2019 в 01:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: