草庐IT

UIImages

全部标签

ios - 如何释放不再使用的 UIImages 的内存

我正在尝试将一些较小的图像合并成一个较大的图像。应用程序崩溃是因为它用完了内存,但我无法弄清楚如何在使用后释放内存,所以它一直累积直到应用程序崩溃。addImageToImage和resizeImage例程似乎是导致崩溃的原因,因为在不再需要它们后我无法释放它们的内存。我在这个项目中使用了自动引用计数。我已尝试将图像设置为nil,但这并不能阻止崩溃。testImages在一个从主ViewController调用的类中,而addImageToImage和resizeImage在另一个名为ImageUtils的类中。谁能看看这段代码并向我解释如何正确释放这两个例程分配的内存。我无法对图像调

ios - 如何在质量损失最小的情况下通过网络传输小型 UIImages?

我需要通过Internet发送UIImage,但到目前为止我遇到了一些问题。我目前采用UIImage,将其设为16维,将其转换为NSData,然后使用NSData+base64创建NSString。然后,我将其作为JSON请求的一部分传输到服务器。大多数情况下,这都能完美运行。但是,文件很大。在蜂窝连接上,加载图像可能需要大约10秒。如何通过网络传输UIImage,使其既小又保持质量?即使我把它设为之前像素数的16分之一,一张照片也可以达到1.5MB。我希望它达到300KB左右。仅使用zip或gzip压缩它似乎可以节省微不足道的(谢谢,罗伯特 最佳答案

ios - 使用 UIImages 创建 gif

我指的是这个post.我正在尝试使用屏幕截图创建的图像制作一个gif文件。我正在使用计时器来创建屏幕快照,以便获得可用于创建gif的所需帧数。我每0.1秒拍摄一次快照(稍后我将在3秒后结束此计时器)。这是我的UIView快照代码:-(void)recordScreen{self.timer=[NSTimerscheduledTimerWithTimeInterval:0.1target:selfselector:@selector(takeSnapShot)userInfo:nilrepeats:YES];}-(void)takeSnapShot{//capturethescreens

iphone - 将 View 渲染到 UIImages 是在 iPhone SDK 中处理动画的正确方法吗?

我一直在使用CorePlot为我一直在开发的iOS应用绘制一些图表。虽然coreplot作为图表应用程序非常出色,但在涉及任何类型的用户交互时,它都是一个性能pig。为了解决这个问题,我开始执行以下许多操作:UIGraphicsBeginImageContext(view.bounds.size);[view.layerrenderInContext:UIGraphicsGetCurrentContext()];UIImage*image=UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();然后

ios - AVAssetWriter 的输出(写入视频的 UIImages)失真

我正在使用AVAssetWriter将一系列图像编码为电影文件,遵循Zoul在这里的回答:HowdoIexportUIImagearrayasamovie?.简而言之我的流程是:从.png文件创建UIImage从UIImage获取CGImage将CGImage转换为CVPixelBuffer(完全使用zoul的函数pixelBufferFromCGImage)使用AVAssetWriterInputPixelBufferAdaptor和AVAssetWriter将帧写入.mov这在大多数情况下工作正常,但有时编码的.mov文件会失真(见下图)。我想知道是否有人熟悉这种类型的失真图像输出

ios - 实时混合 UIImages

是否可以像iOS7通知中心的箭头一样实时混合?我想知道是否有可能将UIImage与柔光混合,并将内容(UIView或CALayer)置于其正下方,这样背景图像就可以移动,而混合后的图像将停留在一个位置。我希望它是您可以拥有UIImage的地方,您可以在其中将blendMode属性设置为您需要的任何混合模式,例如imageView.blendMode=kCGBlendModeSoftLight;我尝试使用GPUImage但我无法弄清楚如何做我需要的。任何帮助将不胜感激。到目前为止,我用来设置UIImage混合模式的代码是这样的;但是,如果移动背景View,则UIImage上的混合不会更新

iphone - 合并两个 UIImages 比 CGContextDrawImage 更快

我正在将两个UIImage合并到一个上下文中。它可以工作,但执行起来很慢,我需要一个更快的解决方案。因为我的解决方案是在iPad1G上调用mergeImage:withImage:大约需要400毫秒。这是我的做法:-(CGContextRef)mergeImage:(UIImage*)img1withImage:(UIImage*)img2{CGSizesize=[ImageToolboxgetScreenSize];CGContextRefcontext=[ImageToolboxcreateARGBBitmapContextFromImageSize:CGSizeMake(size

ios - 使用 Instruments 减少来自相机的 UIImages 的内存

我的应用使用ARC,执行以下操作:上传相机拍摄的照片压缩图片以用作缩略图。我使用[UIImageimageWithData:UIImageJPEGRepresentation(original,0.1f)]执行此操作我将未压缩的图片引用设置为nil,以便ARC释放内存重复此序列将意味着屏幕上出现多个压缩缩略图。大约7或8张图片后,应用程序将因内存不足而崩溃。在Instruments中,我试图将分配与内存监视器结合使用来查找问题的根源。一些仪器统计数据:分配-LiveBytes在拍照后跳跃了大约2MB,但在原始图片引用设置为nil后下降了1.5MB。这似乎是一件好事,但是......这是

ios - 如何在使用变换(缩放、旋转和平移)时合并 UIImages?

我正在尝试复制Instagram的一项功能,您可以在其中拥有您的照片,您可以添加贴纸(其他图像)然后保存。所以在保存我的图片的UIImageView上,我将标签(另一个UIImageView)添加到它作为subview,位于父的中心UIImageView.要在图片周围移动标签,我使用CGAffineTransform(我不移动UIImageView的中心)。我还应用了一个CGAffineTransform来旋转和缩放贴纸。为了保存带有贴纸的图片,我使用了一个CGContext,如下所示:extensionUIImage{funcmerge2(inrect:CGRect,withimag