草庐IT

ios - UIImage 和 UIView 的交互式模糊,如 iOS 8 spotlight

iOS8引入了一些非常时髦的交互式模糊处理。最值得注意的是,当您下拉以获得聚光灯时会出现交互式模糊,但在打开和关闭Siri时也会出现动画(尽管这不是交互式的)。我只在另一个地方注意到这种交互式模糊:在个人资料View上下拉时的官方Twitter应用程序(视差标题图像缩放和模糊有时)。我尝试使用带有CoreImage和GPUImage的UISlider为一些基本的东西制作动画(基于对thisquestion以及Apple的UIImage+ImageEffects的回答),但似乎没有什么性能足以交互地制作模糊动画(即模糊一个将图像转换为单个值一次可以快速工作,但帧速率不足以连续模糊)。我如

ios - CAShapeLayer 和 UIImage

我一直在努力学习更多关于使用CAShapeLayer动画的方法。我想到的第一件事是在弹起之前在边缘上产生“压缩”网球的效果。但是我没有使用图层的fillPath,而是尝试为该图层设置图像。所以我创建了另一个CALayer,为其contents属性分配了一个图像并为形状层的路径设置动画。但结果是,图像并没有完全包裹在这条路径中,正如我所希望的那样,路径会随着路径的动画而增长和缩小,而是在路径被动画化的同时显示和覆盖图像。我希望能够让这个图像完全被路径包裹起来,并且当路径被动画化时,无论形状如何,图像仍然包裹在形状图层上的这个路径中。图像失真在这里不是问题。我的想法是,例如,我下载了一张网

ios - 克隆 UIImage iOS 部分时的内存问题

我正在开发一个应用程序,可以将图像的各个部分复制到该图像的其他部分。复制的逻辑工作正常,但是当我想提供撤消功能时遇到了问题。当前的解决方案是保存最多5个UIImages的数组,然后使用堆栈中的倒数第二个对象恢复。这在使用非常大的图像时会导致各种内存问题。例如,它可以在该数组中包含5个5MB的图像。这是我目前的两个想法。与其保存包含所有更改的全新图像,不如像在Photoshop中保存图层一样保存所做的更改。我可以将5层堆叠在一起,当我用完所有层时,合并底部的两层并创建一个新层。如果用户在一层上复制整个图像,我可能仍然会遇到问题。这不太可能。像我一样保存整个图像,但将其保存到文件系统。这将

ios - 为 UIImage 创建 alpha

我正在尝试在我的应用程序中创建一项功能,允许用户提取现有图像的指定区域,并将其另存为启用了alpha的png。我在UIImageView上放置了一个UIView-imageView显示图像,而您在透明的屏幕上绘制蒙版查看。对于绘图,我使用UIBezierPath。用户可以在对象周围画画,内部会暂时填充黑色。用户从照片卷中选择图像,它呈现在底层UIImageView中,如左图所示,当用户绘制了一个形状(自动关闭)时,在上面UIView,它看起来像正确的图像:这按预期工作,但是当用户随后单击“裁剪”时,魔术应该开始了。到目前为止,我只能创建一个“蒙版”并将其保存为卷筒上的图像,如此处所示(

ios - 给 UIImage 添加圆角?

我知道像UIImageView这样的对象可以有圆角(我以前做过)。但在这种情况下,我需要让方形UIImage具有圆角。我知道这比仅对对象执行此操作更困难,但我需要它专门用于UIImage。任何人都可以分享一个非静态的方法,并且可以在我已经创建的类中实现吗?除非可以向CCSprite添加圆边,否则我必须对UIImage执行此操作。谢谢!编辑2:voidaddRoundedRectToPath(CGContextRefcontext,CGRectrect,floatovalWidth,floatovalHeight){floatfw,fh;if(ovalWidth==0||ovalHeig

ios - UIImage(名为:) and UIImage(imageLiteralResourceName:)?)之间有什么区别

Swift3/iOS10在UIImage上添加了一个新的初始化器,imageLiteralResourceName:extensionUIImage{requiredpublicconvenienceinit(imageLiteralResourceNamename:String)}这与publicinit?(namedname:String)有何不同?我named是一个失败的初始化器,而imageLiteralResourceName将在无效的图像名称上崩溃。imageLiteralResourceName是否以安全换取性能?什么时候应该使用imageLiteralResourceN

ios - 如何从 UIImage 获取文件路径?

通常是相反的方式,您使用路径来显示图像。我想知道如果你已经有了图像,你是否可以获得路径。 最佳答案 如果您已经有了图像,即将文件添加到您的资源中,您可以使用它来获取文件路径;NSString*string=[[NSBundlemainBundle]pathForResource:@"IMAGE_FILE_NAME"ofType:@"jpg"];//orofType:@"png",etc. 关于ios-如何从UIImage获取文件路径?,我们在StackOverflow上找到一个类似的问题

ios - 如何调整 UIImage 的大小以减小上传图片的大小

我一直在谷歌搜索,只遇到了一些库,这些库要么降低高度/宽度,要么通过CoreImage编辑UIImage外观。但我还没有看到或找到一个库,帖子解释了如何减小图像大小,以便在上传时,它不是完整的图像大小。到目前为止我有这个:ifimage!=nil{//letdata=NSData(data:UIImagePNGRepresentation(image))letdata=UIImagePNGRepresentation(image)body.appendString("--\(boundary)\r\n")body.appendString("Content-Disposition:fo

ios - 如何在 Swift 中为 UIImage 着色?

我有一个名为arrowWhite的图像。我想将此图像着色为黑色。funcattachDropDownArrow()->NSMutableAttributedString{letimage:UIImage=UIImage(named:"arrowWhite.png")!letattachment=NSTextAttachment()attachment.image=imageattachment.bounds=CGRectMake(2.25,2,attachment.image!.size.width-2.25,attachment.image!.size.height-2.25)let

ios - 将 UIImage 调整为 200x200pt/px

我一直在努力调整图像的大小。基本上我偶然发现:HowtoscaledownaUIImageandmakeitcrispy/sharpatthesametimeinsteadofblurry?这似乎是一个合法的解决方案,但不知何故它无法正常工作。我的应用可以处理相册中的照片。此照片的大小应调整为大约200x200,而宽度而非高度很重要。不幸的是,我没有示例代码,因为我对无效解决方案的愤怒而丢弃了它,抱歉。 最佳答案 这是我的代码。图片的宽度为850像素而不是200像素:funcresizeImage(image:UIImage,new