Tag: uiimage

将应用程序中的图像复制到文档目录,然后重写它们

我有一个应用程序,我有一定数量的.jpg图片(大约300)。 因为它们实际上位于互联网中,所以它们可以作为开始的东西,但显然,在应用程序的第一次启动时,用户不要下载所有的应用程序,而是要预先打包。 每当我从服务器获得新的信息时,我都需要重写这些图像。 显然,我不能触摸应用程序包,所以我看到我的步骤是这样的: 在应用程序的第一次启动时,将包中的图像解包到文档目录中。 仅从文档目录访问它们,但不能从软件包访问它们。 如果有必要,我应该重写它们。 因此,我的代码将统一,因为我将始终使用相同的path来获取图像。 问题是,我对iOS中的整个文件系统知之甚less,所以我不知道如何将特定的包内容解压到Documents Directory,也不知道如何写入Documents Directory。 你能帮我一些代码,并确认我的解决scheme是正确的吗?

检查图像是否已经在图库中并检索它

我需要知道一个图像是否已经在iOS画廊。 我正在开发一个消息客户端应用程序,在我的聊天列表中,当我点击图像缩略图时,我可以下载传入消息的图像/video。 问题是,当我点击缩略图时,我下载并将该图像保存到iOS照片库,但是如果再次点击,我不想再次下载并保存,我想从照片库中检索它。 恢复,我想在照片库中find图像并检索它。 这里是我的代码,使用ALAssetsLibrary将图像保存在自定义相册中: [self writeImageToSavedPhotosAlbum:image.CGImage orientation:(ALAssetOrientation)image.imageOrientation completionBlock: ^(NSURL* assetURL, NSError* error) { if (error!=nil) { completionBlock(error); return; } //add the asset to the custom photo album [self addAssetURL: assetURL toAlbum:albumName withCompletionBlock:completionBlock]; } ]; -(void)addAssetURL:(NSURL*)assetURL toAlbum:(NSString*)albumName withCompletionBlock:(SaveImageCompletion)completionBlock { __block BOOL albumWasFound = NO; [self enumerateGroupsWithTypes:ALAssetsGroupAlbum usingBlock: ^(ALAssetsGroup *group, BOOL *stop) { if ([albumName compare: […]

iOS:从后台线程创buildUIImage?

苹果文件说: 由于图像对象是不可变的,因此创build后不能更改其属性。 大多数图像属性是使用随附图像文件或图像数据中的元数据自动设置的。 图像对象的不可变性也意味着它们可以安全地从任何线程创build和使用。 链接 另外,如果你看看这个“线程安全的UIImage”问题的答案,可以得出结论,从任何线程使用它们是安全的(至less从iOS 9开始)。 然而 ,有评论抱怨的问题,尤其是关于在后台线程上创buildUIImage。 在我的情况下,我敢肯定,这导致animation停止工作的问题。 有人有这方面的见解吗?

GPUImage遮罩透明度

我在我的应用程序中使用Brad Larson的GPUImage框架,我需要制作mask.jpg和照片的掩码。 所以蒙版图像是黑色背景和白色几何graphics的两种颜色图像。 所以基本上掩蔽工作,问题是我不能做掩码的透明度。 为了使我需要将mask.png的黑色replace为更浅的颜色(更多灰色到白色)。 所以我试图从这里使用代码 想用另一种颜色 – iPhone来改变图像中的特定颜色 但它不起作用,阿尔法设置为0,我不知道为什么。 我试图debugging,一切似乎都很好,但它返回一个UIImage与透明的颜色,而不是黑色。 有没有办法让它没有coregraphics。 也许coreimage?

将填充和边框添加到UIImageView

如何在UIImageView和边框之间添加填充? Img.layer.cornerRadius = Img.bounds.width / 2 Img.layer.borderWidth = 2 Img.layer.borderColor = UIColor.blue.cgColor Img.clipsToBounds = true 喜欢这个:

等待UIButton恢复到UIControlStateNormal

当用户点击我的界面上的button时,我想使用renderInContext创build一个屏幕的图像: 但是,图像是在按下button的状态下创build的 – 也就是使用UIControlStateHighlighted图像。 有什么方法可以等待这个button恢复到UIControlStateNormal状态,然后再创build图像? 如果不是,我能想到的唯一的另一个解决scheme是重新创build视图closures屏幕,并成像。 PS我宁愿避免使用一些任意的计时器等待一个设定的时间间隔。

UIImage imageNamed扩展名

我最近在我的应用程序中发现了一个非常大的性能问题,这是由于在[UIImage imagenamed:]中找不到图像。 我想知道是否有一个“插入”的解决scheme,以这种“错误”logging在某种方式? 我开始写一个UIImage类的扩展,如下所示: @implementation UIImage (Debug) #ifdef DEBUG + (UIImage*) imageNamed:(NSString*) name{ UIImage* img = [UIImage imageNamed:name]; if(!img){ NSLog(@"Error: referencing non-exiting image: %@", name); } return img; } #endif @end 但是这会导致无限循环,因为[UIImage imageNamed:name]当然会导致再次调用扩展方法… 有什么build议么? 谢谢Thomas

UIGestureRecognizer通过后如何保存UIImageView?

我有一个应用程序与2 UIImageView被铺设在对方。 我有backgroundImg和FrontImg。 frontImg可以:旋转,移动,通过UIGestureRecognizers进行缩放。 当我想保存我的UIImages时,我将它们合并,但是他们被保存,好像他们从来没有碰过一样。 有谁知道如何解决这个问题? 这是我的保存方法:UIGraphicsBeginImageContext(self.backgroundImg.image.size); CGRect rect = CGRectMake(0, 0, self.backgroundImg.image.size.width, self.backgroundImg.image.size.height); self.frontImg.contentMode = UIViewContentModeScaleAspectFit; [self.backgroundImg.image drawInRect:rect]; [self.frontImg.image drawInRect:rect]; UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); //[imageView3 setImage:resultingImage]; UIGraphicsBeginImageContextWithOptions(self.backgroundImg.bounds.size, NO,0.0); [self.backgroundImg.image drawInRect:CGRectMake(0, 0, self.backgroundImg.frame.size.width, self.backgroundImg.frame.size.height)]; //UIImage *SaveImage = UIGraphicsGetImageFromCurrentImageContext(); //UIImage *resultingImage = [self mergeImage:self.backgroundImg.image withImage:self.frontImg.image]; UIGraphicsEndImageContext(); UIImageWriteToSavedPhotosAlbum(resultingImage, self,@selector(image:didFinishSavingWithError:contextInfo:), nil); 这些是我的手势function: -(IBAction)handlePan:(UIPanGestureRecognizer *)recognizer{ CGPoint translation = […]

无法更改所选定制单元格中的图像

我创build了一个自定义的单元格来显示文本和2个图像,当用户select单元格时,图像应该改变。 我可以访问单元格的属性,但不能更改它们: – (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { [tableView deselectRowAtIndexPath:indexPath animated:YES]; CustomCell *cell = (CustomCell *)[self.tableView cellForRowAtIndexPath:indexPath]; cell.check.image = setImage:[UIImage imageNamed:@"1355327732_checkbox-checked"]; [cell.check setImage:[UIImage imageNamed:@"1355327732_checkbox-checked"]]; } cell.check是一个UIImageView 我错过了什么?

Swift:即使video看起来很锐利,从video中提取图像也很模糊。

下面的代码受到SO上的其他post的启发,并从video中提取图像。 不幸的是,即使video看上去很锐利并且完全对焦,图像看起来也很模糊。 代码是否有问题,或者这是从video中提取图像的自然困难? func getImageFromVideo(videoURL: String) -> UIImage { do { let asset = AVURLAsset(URL: NSURL(fileURLWithPath: videoURL), options: nil) let imgGenerator = AVAssetImageGenerator(asset: asset) imgGenerator.appliesPreferredTrackTransform = true let cgImage = try imgGenerator.copyCGImageAtTime(CMTimeMake(0, 1), actualTime: nil) let image = UIImage(CGImage: cgImage) return image } catch { … } }