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 点中定义的具有正确原点的图形上下文中正确渲染图层?

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 回答