0

UIKitのcontentScaleFactorに相当するCoreGraphicsは何ですか?

PDF コンテキストへのレンダリングを可能にする UKit PDF 作成関数を使用して PDF を作成しています。ただし、生成された PDF の品質を低下させる必要があります。UIKit の contentScaleFactor プロパティを使用して、これを (UIView へのレンダリングで) 既に達成しています。これは、グラフィック空間とピクセル空間の間の変換係数です。ただし、この魔法とブードゥー教を UIView なしで CGContextRef に適用する必要がありますが、何をすべきかわかりません。

PDFの品質を低下させる方法に関する他の提案は大歓迎です.

ありがとう

編集: 私の入力は PDF ドキュメントです。CoreGraphics を使用して別の PDF から PDF を再作成していますが、一部の PDF ページのグラフィック強度によっては、プロセスが遅くなる可能性があります。

4

1 に答える 1

0

コンテキストを作成するときは、元の PDF の一部である幅と高さを指定します。

    CGContextRef context = CGBitmapContextCreate(NULL, 
                                    pdfSize.width / 4, 
                                    pdfSize.height/4, 
                                    8,                      
                                    0,   
                                    colorSpace, 
                                    kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big);

次に、ここで描画を行い、必要に応じて縮小します。次に、次のことができます。

CGImageRef cgImage = CGBitmapContextCreateImage(ctx);
UIImage *reflectionImage = [UIImage imageWithCGImage:cgImage scale:4.0 orientation:up];

または、新しい拡大されたコンテキストで cgImage イメージを描画できます。それは、何をしようとしているかによって異なります。

于 2013-03-05T16:32:31.567 に答える