- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在通过截取 UIView 的屏幕截图来创建 PDF,目前这在配备视网膜显示屏的 iPad3 上运行良好,但在具有较低分辨率屏幕的其他设备上进行测试时,我遇到了文本分辨率问题。
这是我的代码:
//start a new page with default size and info
//this can be changed later to include extra info.
UIGraphicsBeginPDFPage();
//render the view's layer into an image context
//the last option specifies scale. If 0, it uses the devices scale.
UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, 2.0);
CGContextRef context = UIGraphicsGetCurrentContext();
[view.layer renderInContext:context];
UIImage *screenShot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
//render the screenshot into the pdf page CGContext
[screenShot drawInRect:view.bounds];
//close the pdf context (saves the pdf to the NSData object)
UIGraphicsEndPDFContext();
我还尝试将 UIGraphicsBeginImageContextWithOptions
比例设置为 2.0,但这没有任何变化。如何强制 iPad2 上的 View 以 2 倍分辨率呈现?
预期输出:
实际输出:
最佳答案
我最终通过将父 View 及其 subview 的 contentScaleFactor
属性设置为 2.0 来解决此问题。
UIImage 以正确的分辨率呈现,但在调用 renderInContext
时图层不是。
关于objective-c - renderInContext 在视网膜和非视网膜设备上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13225581/
在使用“ObjectAlloc”在仪器中进行调试时,我注意到为 renderInContext 调用分配了 7meg 内存,但它从未被释放。当我注释掉 renderInContext 调用时,这种情况
我正在尝试在我的 iOS 设备上为某个应用程序保存当前显示的 View ,并且这工作正常。但是,当我尝试以横向保存 UIImageView 时,我遇到了问题。 请参阅描述我的问题的下图: 我正在为这个
我有个问题。当我在 iPad 中使用“renderInContext”时,使用的内存永远不会释放并累积,直到应用程序以“内存警告”级别 = 1 和级别 = 2 关闭 我的代码: CGRect medi
我正在从 webview 渲染图像。所以 renderIncontext 方法在 for 循环中调用了 50 多次。在 20 或 30 次后,我的应用程序因更多内存消耗而崩溃。 我使用了这段代码: U
我在 2448 X 2448 像素的图像上运行此代码。 fullScaleView 也是 2448 X 2448(fullScreenView Rect:{{0, 0}, {2448, 2448}})
背景 我正在使用来自 Chapter 8, Example 14 — Resize and Rotate 的 Erica Saduns Cookbook 示例显然可以调整和旋转 UIImageView
我用 CATransform3D rotationAndPerspectiveTransform = CATransform3DIdentity; rotationAndPerspectiveTran
我正在渲染多个图层以获得一张最终图像。其中一张图片包含一张脸,另一张图片包含背景,脸部周围有透明渐变,因此隐藏了真实背景。在 iOS6 中它工作得很好,但它在 iOS7 中使用透明渐变创建了一个奇怪的
我可以使用以下代码从核心动画层创建 UIImage: - (UIImage*)contentsImage; { UIGraphicsBeginImageContext([self bounds]
我有一个 View ,里面有多个 View ,还有一个图像演示(又名“封面流”)......而且我需要以编程方式制作屏幕截图! 因为文档说“renderInContext:”不会渲染 3d 动画: “
我有一个相当大的CAShapeLayer我正在渲染。该层是完全静态的,但它包含在 UIScrollView 中所以它可以移动和缩放——基本上,它必须时不时地重新绘制。为了提高滚动的帧率,我设置了 sh
此代码有效: UIGraphicsBeginImageContextWithOptions(aRect.size, NO, 0.0); [self.view drawViewHierarchyInRe
我用这段代码做了截图, CGFloat breed = 768; CGFloat hoogte = 975; CGSize afmeting = CGSizeMake(breed, hoogte);
我正在通过截取 UIView 的屏幕截图来创建 PDF,目前这在配备视网膜显示屏的 iPad3 上运行良好,但在具有较低分辨率屏幕的其他设备上进行测试时,我遇到了文本分辨率问题。 这是我的代码:
我有一个在循环中调用的方法,看起来像这样: NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; UIImageView *backg
我正在使用在主线程上执行的以下代码来截取 屏幕外(不是 self.view 的 subview ) View ,然后显示在 中UIImageView。就功能而言,一切正常,但是由于此代码在扩展上运行,
我手动创建了一个 CGBitmapContext: bitmapContext = CGBitmapContextCreate( myImageData, width, height, 8, 4 *
我正在使用此代码从 View 中渲染图像。然后我将其保存到相册中。图像模糊?为什么?有解决办法吗? UIGraphicsBeginImageContext(self.view.bounds.size)
CALayer -drawInContext: 和 -renderInContext: 有什么区别? 最佳答案 当提供自定义 Quartz 绘制内容以在 CALayer 中显示时,您可以覆盖 -dra
在浏览了关于 SO 的所有相关问题后,我了解到 drawViewHierarchyInRect 应该比 renderInContext 快得多,但这不是我所看到的。 这是我的带有时间分析的快照功能:
我是一名优秀的程序员,十分优秀!