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

Posted

技术标签:

【中文标题】如何创建和使用大于屏幕分辨率的图像?【英文标题】:How can I create and use an image larger than the screen resolution? 【发布时间】:2011-12-03 08:03:16 【问题描述】:

我正在尝试渲染位图以保存到用户的相册中,该位图的分辨率必须高于 320x480 iPhone 屏幕(但仍在 ios 内存限制范围内)。 但是,使用此代码创建上下文:

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

或 CG 模拟:

CGContextRef ctx = CGBitmapContextCreate(rawData, finalImgWidth, finalImgHeight, bitsPerComponent, bytesPerRow, colorSpace, kCGImageAlphaPremultipliedLast);

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

还有其他方法可以创建高分辨率图像吗?

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

【问题讨论】:

检查这个问题:***.com/questions/9119889/… 【参考方案1】:

你试过[UIImage initWithCGImage:scale:orientation:]吗?

首先,用图像初始化一个UIImage 对象,以获取图像的几何形状。 然后计算比例因子。

【讨论】:

我正在尝试将滚动视图的内容绘制到一个图像中,所以我不确定如何从 CGImage 开始。澄清一下,我有多个 UIImageViews,它们组合起来比屏幕空间大。我正在尝试将它们渲染成一个最终的 UIImage。【参考方案2】:

嗯,我想它会帮助你。在以下 Apple 示例代码中,它们展示了如何在屏幕上显示大图像。

Scrolling Apple Sample Code

【讨论】:

谢谢,但我非常熟悉如何在滚动视图中布局视图。这个问题是关于如何将布局转换为 jpg/png 文件以便在照片应用中查看。

以上是关于如何创建和使用大于屏幕分辨率的图像?的主要内容,如果未能解决你的问题,请参考以下文章

如何在煎茶触摸中添加不同屏幕分辨率的图像?

屏幕尺寸分辨率问题

Libgdx Box2d 屏幕分辨率

如何编码我的网站,以便我的100%宽度图像根据屏幕分辨率变化调整大小?

此处映射了有关使用屏幕截图和生成更高分辨率的可打印地图图像并结合屏幕截图的政策

Javascript检测屏幕分辨率,更改css,相应裁剪图像