如何创建和使用大于屏幕分辨率的图像?

3

我正在尝试渲染一个位图,以保存到用户的照片相册中,该位图必须具有比320x480 iPhone屏幕更高的分辨率(但仍在iOS内存限制范围内)。 然而,使用以下代码创建上下文:

UIGraphicsBeginImageContext(CGSizeMake(finalImgWidth, finalImgHeight));
CGContextRef ctx = UIGraphicsGetCurrentContext();

或者使用CG模拟:
CGContextRef ctx = CGBitmapContextCreate(rawData, finalImgWidth, finalImgHeight, bitsPerComponent, bytesPerRow, colorSpace, kCGImageAlphaPremultipliedLast);

如果宽度或高度大于320x480,则返回nil上下文。

是否还有其他方法创建高分辨率图像?

注意:我已经知道如何正常绘制内容并进行屏幕截图。我需要一个可以缩放到典型照片分辨率的解决方案。


请查看这个问题:https://dev59.com/lV_Va4cB1Zd3GeqPY_1a - meetpd
2个回答

0
你尝试过使用[UIImage initWithCGImage:scale:orientation:]吗?
首先,通过该图像初始化一个UIImage对象,以获取图像的几何形状。然后计算比例因素。

我正在尝试将scrollview的内容绘制成一张图片,所以我不确定该如何开始使用CGImage。为了澄清,我有多个UIImageView,当它们组合在一起时比屏幕房地产大。我正在尝试将它们渲染成一张最终的UIImage。 - oohaba

0

嗯,我认为这会对你有帮助。在以下的苹果示例代码中,他们展示了如何在屏幕上显示一张大图。

滚动苹果示例代码


谢谢,但我非常熟悉如何在滚动视图中布置视图。这个问题是关于如何将布局转换为JPG/PNG文件,以便在“照片”应用程序中查看。 - oohaba

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接