ラベル、表、グラフを含む 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 のページ全体に表示されます。そのレイヤーにはフレームに関する情報が含まれていないため、これは驚くべきことではありません。
私は使用CGContextTranslateCTM
しCGContextScaleCTM
て再配置することになっていると思いますが、もっと簡単な方法がないかどうかはわかりません。さらに、それらを使用して必要なものを取得する方法もわかりません。
ご協力いただきありがとうございます
編集:私はこのようにパイを描いてみました:
[pie drawRect: frame];
これにより、期待されるサイズで、ページの左上にパイが描画されます。欲しいところにどうやって入れるの?フレームには、必要な場所の原点が含まれているのに、なぜ左上に配置されているのですか?