2

编辑 我一直在使用的 pdf 文件显然是“indesign”格式(无论这意味着什么),因此没有颜色配置文件,有谁知道如果可能的话,我如何自己添加配置文件? 编辑结束

预先感谢任何人都可以解决这个问题。

首先让我告诉你,我在为 IOS 开发方面有点新手,我正在尝试在 xcode 上使用石英制作一个 pdf 阅读器,除了图像渲染之外,一切都很好,由于某种原因,色彩空间完全弄乱。请看一下这个例子。

这是我在 IOS 设备上获得的图像:

色彩空间错误的图像

这就是它的样子:

在此处输入图像描述

作为参考,绘制 pdf 页面的代码部分如下:

- (void)drawLayer:(CATiledLayer *)layer inContext:(CGContextRef)context
{

ReaderContentPage *readerContentPage = self; // Retain self

CGContextSetRGBFillColor(context, 1.0f, 1.0f, 1.0f, 1.0f); // White

CGContextFillRect(context, CGContextGetClipBoundingBox(context)); // Fill

CGContextTranslateCTM(context, 0.0f, self.bounds.size.height); CGContextScaleCTM(context, 1.0f, -1.0f);

CGContextConcatCTM(context, CGPDFPageGetDrawingTransform(_PDFPageRef, kCGPDFCropBox, self.bounds, 0, true));

//CGContextSetRenderingIntent(context, kCGRenderingIntentDefault); CGContextSetInterpolationQuality(context, kCGInterpolationDefault);

CGContextDrawPDFPage(context, _PDFPageRef); // Render the PDF page into the context

if (readerContentPage != nil) readerContentPage = nil; // Release self
}

请如果有人可以帮助我解决这个问题。

大卫

4

2 回答 2

2

正如我的问题所指出的,问题是由于 pdf 源文件缺乏色彩空间引起的,在这个应用程序的 android 版本上,我使用了一个非常好的库调用 MUPDF,它也可用于 ios,但不幸的是在我的情况下这个版本比使用石英框架慢。

为此,我必须使用 rbg 或 cmyk 颜色空间导出 pdf 源。

但是,如果有人知道如何在应用程序中添加色彩空间,我会很高兴知道

于 2013-09-26T00:08:26.817 回答
0

我在这方面遇到了很大的麻烦。我终于想通了。

  1. Apple 将 sRGB 用于 iOS。为此,您必须将 pdf(转换为)保存为 sRGB。我使用 Illustrator -> new -> profile = "web", color space = "RGB" -> 另存为 PDF ->(在选项中)转换为 sRGB。

  2. 警告!当您将过去的路径复制到 RGB 中的新画板时,Illustrator 可能已更改了 RGB 值。这花了我很长时间才弄清楚......即使保存到 PDF 部分是正确的,Illustrator 通过更改默认值来打破它,使一切变得更暗更沉闷。

希望这可以帮助!

于 2015-06-02T14:14:55.430 回答