2

EDIT 私が使用しているpdfファイルは明らかに「indesign」形式(それが何を意味するにせよ)であるため、カラープロファイルがありません. 編集終了

この問題に誰でも貸してくれる手を前もって感謝します。

まず最初に、私は IOS の開発が初めてで、xcode で Quartz を使用して 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 バージョンでは、ios でも利用できる非常に優れたライブラリ呼び出し MUPDF を使用していますが、残念ながら私の場合はこれバージョンは、クォーツ フレームワークを使用するよりも低速です。

これに関しては、rbg または cmyk 色空間を使用して pdf ソースをエクスポートする必要がありました。

しかし、誰かがアプリケーション内に色空間を追加する方法を知っているなら、私はそれを知ってとてもうれしいです.

于 2013-09-26T00:08:26.817 に答える
0

私はこれで大変な苦労をしました。そして、私はついにそれを理解しました。

  1. Apple は iOS に sRGB を使用します。これを行うには、pdf を sRGB で保存 (変換) する必要があります。これは Illustrator で行います -> 新規 -> プロファイル = "web"、色空間 = "RGB" -> PDF として保存 -> (オプションで) sRGB に変換します。

  2. あぶない!過去のパスを RGB で新しいアートボードにコピーすると、RGB 値が Illustrator によって変更されている可能性があります。これを理解するのに何年もかかりました... PDFへの保存部分は正しかったのですが、Illustratorはデフォルトで値を変更してそれを壊し、すべてをより暗く、より鈍くしました。

お役に立てれば!

于 2015-06-02T14:14:55.430 に答える