1

PDF のページのサム プレビューを作成し、それらを PNG としてディスクに保存しようとしています。これは、UI スレッドではなく、別のスレッドで実行されるはずです。

これを達成するために、私はCGContextRefPDF ページを描画するために使用しCGImageUIImageNSDataますNSData。ここまでクリア。

ただしCGImage、 とUIImageは UI 要素であり、別のスレッドで使用するべきではありませんが、その画像を画面に表示したくありません。その場合、別のスレッドでそれらを使用しても問題ありませんか? または、PDF ページのプレビューをディスクに直接レンダリングする別の方法はありますか?

4

1 に答える 1

1

UIKit は一般的にスレッド セーフではありません (一部の呼び出しは安全ですが、文書化されていません)。OTOH CoreGraphics はスレッドセーフです。そのため、バックグラウンド スレッドで画像処理を行うには、回避UIImageしてのみ使用するCGImageのが最も安全な方法です。

CGImageRef を png ファイルに保存するを参照してください。CGImageRefPNGファイルとして保存します。

于 2012-04-19T15:17:58.843 に答える