我想让用户在不限制大小的情况下选择照片,然后进行编辑。

我的想法是创建一个与用于编辑的屏幕尺寸相同的大照片的缩略图,然后,在编辑完成后,使用大照片进行与缩略图相同的编辑。

当我使用UIGraphicsBeginImageContext创建缩略图时,它将导致内存问题。

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

我发现有一个BitmapFactory类,它有一个inSampleSize选项,可以对Android平台中的照片进行下采样。 怎么能在iOS上完成?

===============>>#1 票数:9 已采纳

您需要使用UIImage来处理图像加载, UIImage实际上并不将图像加载到内存中,然后以您想要的结果图像的大小创建位图上下文(因此这将是使用的内存量)。 然后需要迭代的次数绘制从原始图像块(这是图像数据的部分被加载到存储器),使用CGImageCreateWithImageInRect到使用目的地上下文CGContextDrawImage

请参阅Apple的此示例代码

===============>>#2 票数:1

大图像不适合内存。 因此将它们加载到内存中然后调整它们的大小不起作用。

要处理非常大的图像,您必须将它们平铺。 已经有很多解决方案,例如,看看这是否可以解决您的问题:

https://github.com/dhoerl/PhotoScrollerNetwork

我实现了我自己的自定义解决方案,但这是特定于我们的环境,我们有一个运行服务器端的图像管理器已经和我可以请求特定的大图像区块(制作服务器,它真的很酷)

平铺工作的原因是,基本上你只能将可见像素保留在内存中,并且没有那么多。 当前不可见的所有切片都会被分解为磁盘高速缓存或闪存高速缓存。

===============>>#3 票数:0

看看Trevor Harmon的这项工作。 它改善了我的应用程序的性能。我相信它也适合你。

https://github.com/coryalder/UIImage_Resize

  ask by lingtianlan translate from so

未解决问题?本站智能推荐:

1回复

iOS Xamarin中的UIImage质量不好

我一直在这里使用代码向UIImage添加一些文本,但是图像的质量真的很差。 我将代码范围缩小了很多: MyImage是PNG图像。 我已经像这样添加了它们: MyImage.png(100x100像素) MyImage@2.png(150x150像素) My
1回复

如何使用Swift在iOS中获得方形裁剪的照片缩略图

我想为收藏夹视图单元获取照片缩略图,这就是我的做法: 这将得到一个经过拉伸的缩略图,我想要一个正方形裁剪的缩略图,像iPhone的“照片”应用程序那样,保持照片的原始比例。 有任何想法吗? 请迅速回应,因为我是ios编程的新手,所以我先从迅速开始,谢谢。
1回复

如何从Swift中的相机或照片库加载图像[关闭]

如何使用相机拍照或从照片库中选择图像以便能够在imageView中显示? 任何有关这方面的帮助将不胜感激。
1回复

你能把PNG保存到iOS5的照片库吗?

我注意到使用此代码保存时,我正在制作的绘图应用程序中的线条图质量非常低: 据我所知,使用UIImageWriteToSavedPhotosAlbum时无法设置JPG质量。 有没有办法直接将UIImage作为PNG保存到照片库,或者某种方式来提高JPG质量? 在进行屏幕截图(按下i
2回复

iOS:使用UIImage在collectionview reoloaddata中崩溃

在我的应用程序中,我有这个代码: 数组图像包含200x150大小的UIImage,它们的kb大小约为42kb,是UIImage的正常数组。 当我为这个集合视图重新加载数据时,我在15个图像之后有一个内存警告...有没有办法(作为一个线程)没有内存警告?
2回复

在iOS中构建缩略图条

我正在尝试构建缩略图条纹-我想动态地将30x30的图像添加到条纹中,因为它们是从网络上的源懒惰下载的。 由于某些原因,图像以错误的宽度绘制。 我看到它们在整个条纹上伸展,而不是停留在30x30 ... 我希望缩略图条的高度为40,宽度为40xNum_of_thumbnails。
1回复

自动将UIIMage中显示的照片保存到目录

我想将照片保存在目录中。 但是,我在视图控制器中使用此代码创建了目录。 UIImage正在显示用户已拍摄的内容。 我想将照片自动显示在UIIMage上时保存到我创建的目录之一(例如帽子)中。下面是我的照片拍摄后显示到UIImage的代码。 是否有自动保存到目录之一的方法?
1回复

iOS倒置坐标混乱

所以我使用CGBitmapContext来适应iOS的软件阻塞。 我将数据写入位图,然后使用CoreGraphics函数在CGBitmapContext上写入文本。 软件阻击器使用左上手原点,而CoreGraphics功能使用左下手原点。 因此,当我使用(0,0)的阻击器绘制图像时,它出现
1回复

iOS SDK,从无符号字符数组渲染图像,CGBitmapContextCreate返回NULL

我有一个具有以下值的无符号char *数据 ,如在xcode中进行调试时所看到的, \\ xc1 \\ xc1 \\ xc1 \\ xc1 \\ xc1 \\ xc1 \\ xc1 \\ xc0 \\ x84 \\ x03 \\ x03 \\ x02 \\ x03 \\ x02 \\ x0
4回复

HTML:有没有办法在textarea中显示图像?

所以我想在<textarea>显示image thumbnails以及文本。 如果你知道一个完美的javascript解决方案(如果可能在vanilla JS中)。 像这样: 正如我所知道并在div或者任何东西中看到的contentEditable="true"允许图