3

私は手作業で pdf を作成しており、ビュー内でいくつかの画像をレンダリングする必要があります。画像には、テンプレート nib ファイルで定義されたフレームがあります。ただし、テンプレート ファイルで割り当てられたフレームに従ってこれらの画像をレンダリングする良い方法を見つけることができないようです。

電話すると

[imageView.layer renderInContext:pdfContext];

ビューは原点 0,0 でレンダリングされます。

更新: 解決策は、コンテキストをレンダリングする前に座標系の原点を変換し、レンダリング後に復元することでした

CGContextTranslateCTM(pdfContext, imageView.frame.origin.x,imageView.frame.origin.y);
            //render the container, with the correct coordinate system
            [v.layer renderInContext:pdfContext];
            CGContextTranslateCTM(pdfContext, -imageView.frame.origin.x,-imageView.frame.origin.y);

ビューのframe.origin point内で定義されているように、正しい原点を持つグラフィックスコンテキストでレイヤーを適切にレンダリングするにはどうすればよいですか?

4

1 に答える 1

8

操作前に座標系を調整する必要がありました

CGContextTranslateCTM(pdfContext, imageView.frame.origin.x,imageView.frame.origin.y);
//render the container, with the correct coordinate system
[v.layer renderInContext:pdfContext];
CGContextTranslateCTM(pdfContext, -imageView.frame.origin.x,-imageView.frame.origin.y);
于 2012-04-13T17:49:59.313 に答える