在iOS中处理大图片

在iOS中处理大图片,第1张

概述我想允许用户选择照片,而不限制大小,然后编辑它. 我的想法是创建与要编辑的屏幕大小相同的大照片的缩略图,然后,当编辑完成时,使用大照片进行与缩略图相同的编辑. 当我使用UIGraphicsBeginImageContext来创建一个缩略图时,会引起内存问题. 我知道由于硬件限制,很难直接编辑整个大图像,所以我想知道是否有一种方法可以将大图像缩小到2048 * 2048以下,而不是内存问题? 我发现 我想允许用户选择照片,而不限制大小,然后编辑它.

我的想法是创建与要编辑的屏幕大小相同的大照片的缩略图,然后,当编辑完成时,使用大照片进行与缩略图相同的编辑.

当我使用UIGraphicsBeginImageContext来创建一个缩略图时,会引起内存问题.

我知道由于硬件限制,很难直接编辑整个大图像,所以我想知道是否有一种方法可以将大图像缩小到2048 * 2048以下,而不是内存问题?

我发现有一个BitmapFactory类,它有一个inSampleSize选项,可以在Android平台中对照片进行缩减.在iOS上怎么做?

解决方法 您需要使用UIImage处理图像加载,而实际上并不会将图像加载到内存中,然后根据所需的图像大小创建位图上下文(因此这将是所使用的内存量).然后,您需要使用CGContextDrawImage,将CGImageCreateWithImageInRect转换到目标上下文中,从原始图像(这是图像数据的一部分加载到内存中)遍历多次绘制图块.

见this sample code from Apple.

总结

以上是内存溢出为你收集整理的在iOS中处理大图片全部内容,希望文章能够帮你解决在iOS中处理大图片所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/1096992.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存