2012-02-29 4 views
1

クォーツコンポジションを使用して、特定の3Dプロットやサーフェスを描画するのに多くの時間と労力を費やしました。私の(Cocoa)アプリケーションのQCViewではすべてが素晴らしいようです。しかし、印刷するために、QCViewのスナップショットを作成してNSImageを生成し、それをNSViewの印刷オプション画面に配置しています。しかし、スナップショット内の線や色は、恐ろしいエイリアスに見えます。私のQCViewから直接プリントするか、スナップショットをバイパスしてオーバーライドして、NSImageがQCViewのものと同じように見えるようにする方法はありますか? QCViewはNSViewから継承しますが、組み込みの印刷メソッドは機能していません。QCViewを印刷する正しい方法

ありがとうございます!

+0

スナップショットの後にどのように見えるのか、スナップショットの後にどのように見えるのかのスクリーンショットを添付できますか? – smokris

答えて

0

ありがとうございますsmokris、しかし私はこれを行う方法がCGImageスナップショットを取ることであることがわかりました。私はこのスナップショットをIKImageViewに入れることができると思っていました.IKImageViewはアンチエイリアシングを維持しますが、IKImageViewは同じ問題QCViewに悩まされています。

最後に、CGImageスナップショットからCGPDFContextを使ってpdfデータを作成し、このpdfデータから生成されたNSImageを使ってNSImageViewをロードし、印刷ウィンドウに行くと、すべてのアンチエイリアスは保存されました!非常に遠回りですが、魅力のように動作します!

0

アンチエイリアスの廃止は、アルファ透明度と関係している可能性があります。コンポジションの最下位レイヤーとして、クリアパッチを不透明な黒に設定していますか? (これはデフォルトで透明な黒色になっているため、ここで問題を引き起こしている可能性があります)。

+0

提案してくれてありがとうが、残念ながらこれは役に立たなかった。それは私のクリアパッチのパラメータとは無関係のようです。私は黒い線(灰色の陰影)に変更すると、画像の忠実度が若干向上することがわかりました。 – user1238705