CoreGraphics相当于UIKit的contentScaleFactor是什么?

时间:2013-03-05 16:03:21

标签: ios xcode core-graphics quartz-graphics quartz-2d

与UIKit的contentScaleFactor等效的CoreGraphics是什么?

我使用UKit PDF创建功能创建PDF,允许渲染到PDF上下文。但是,我要求DEGRADE生成PDF的质量。我们已经使用UIKit的contentScaleFactor属性实现了这一点(渲染到UIView),这是图形空间和像素空间之间转换的因素。但是,我需要应用这个神奇的& voodoo到CGContextRef,没有UIView,但我不知道该怎么做。

非常感谢有关如何降低PDF质量的任何其他建议。

由于

编辑:我的输入是PDF文档。我正在使用CoreGraphics从另一个PDF重新创建PDF,但过程可能很慢,具体取决于某些PDF页面的图形强度。

1 个答案:

答案 0 :(得分:0)

创建上下文时,请指定原始PDF的一小部分的宽度和高度:

    CGContextRef context = CGBitmapContextCreate(NULL, 
                                    pdfSize.width / 4, 
                                    pdfSize.height/4, 
                                    8,                      
                                    0,   
                                    colorSpace, 
                                    kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big);

然后在这里根据需要缩小图形。然后你可以这样做:

CGImageRef cgImage = CGBitmapContextCreateImage(ctx);
UIImage *reflectionImage = [UIImage imageWithCGImage:cgImage scale:4.0 orientation:up];

或者你可以在新的放大上下文中绘制cgImage图像,这取决于你想要做什么。