0

ラベル、表、グラフを含む PDF を作成しています。画像とテキストの描画に問題はありませんが、カスタムの PDF チャートがありますUIViews

現在のコンテキストは、最初に PDF を描画するために設定されており、ここでの質問のほとんどはそれに関連しています。しかし、私が話しているのは、既に PDF を描画している場合、テキスト行または画像を追加するように、単一の追加ビューをどのように追加するかということです。UIViewつまり、作成中の PDF に円グラフを含むを追加したいと考えています。

ビューを画像に変換しようとしましたが、解像度がかなり低くなり、ピクセレーションをシードできますが、直接描画すると、ベクター グラフィックスが使用され、より鮮明になります。

PieChartView は、オープン ソースの github ライブラリからのものです。manager は、それを管理するために私が作成した単純なカスタム クラスです。

CGRect frame = CGRectMake(PAGE_WIDTH/2 - pieWidth/2, origin.y, pieWidth, pieHeight);
PieChartView* pie = [[PieChartView alloc] initWithFrame:frame];
PieChartManager* pieManager = [[BPPieChartManager alloc] initWithData:data];
pie.delegate = pieManager;
pie.datasource = pieManager;
[pie.layer drawInContext:UIGraphicsGetCurrentContext()];

これにより、円グラフが PDF のページ全体に表示されます。そのレイヤーにはフレームに関する情報が含まれていないため、これは驚くべきことではありません。

私は使用CGContextTranslateCTMCGContextScaleCTMて再配置することになっていると思いますが、もっと簡単な方法がないかどうかはわかりません。さらに、それらを使用して必要なものを取得する方法もわかりません。

ご協力いただきありがとうございます

編集:私はこのようにパイを描いてみました:

[pie drawRect: frame];

これにより、期待されるサイズで、ページの左上にパイが描画されます。欲しいところにどうやって入れるの?フレームには、必要な場所の原点が含まれているのに、なぜ左上に配置されているのですか?

4

1 に答える 1

0

PDF内でレンダリングされるカスタムUIViewが常に(0,0)から始まるように見えます。PDFページのフレーム全体にパイビューを追加し、UIViewのdrawRect関数でカスタムの小さなフレームに実際の円グラフを描画し、残りの領域を透明にすることができます.

于 2014-03-12T09:33:19.867 に答える