Tag: uiimage

UIImage(contentsOfFile :)返回nil,尽pipe文件存在于caching目录中

我试图保存一个覆盖在caching目录中的地图的快照,并在存在时检索它。 但是,尽pipe文件正在创build,UIImage(contentsOfFile :)返回nil,当我尝试检索它。 我已经打印了写入和读取的文件path,它们是相同的,并通过下载容器并检查目录和文件确定存在validation了文件存在。 任何想法这里的问题是什么? let cachesDirectory: URL = { let urls = FileManager.default.urls(for: .cachesDirectory, in: .userDomainMask) return urls[urls.endIndex – 1] }() let mapCachesDirectory = cachesDirectory.appendingPathComponent("map-snapshots", isDirectory: true) func configureMap(data: NSSet?) { mapView.isZoomEnabled = false mapView.isScrollEnabled = false mapView.isUserInteractionEnabled = false guard let data = data as? Set<SessionData>, data.count > 0 else { return } […]

如何在上传到服务器之前在iPhone OS SDK上压缩/调整图像大小?

我正在使用下面的代码在iOS上使用Imgur将图像上传到服务器: NSData* imageData = UIImagePNGRepresentation(image); NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString* fullPathToFile = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"SBTempImage.png"]; [imageData writeToFile:fullPathToFile atomically:NO]; [uploadRequest setFile:fullPathToFile forKey:@"image"]; 在模拟器中运行时,代码工作正常,并从模拟器的照片库上载文件,因为我在快速以太网连接上。 但是,当select使用iPhone拍摄的图像时,相同的代码会在iPhone上超时。 所以,我试图从networking上保存一个小图片,并尝试上传,这工作。 这导致我相信iPhone所拍摄的大图像会超越3Gnetworking的速度。 发送之前有什么办法来压缩/调整图像的大小? 谢谢!

调整高宽比的UIImage?

我使用这段代码来调整iPhone上的图像大小: CGRect screenRect = CGRectMake(0, 0, 320.0, 480.0); UIGraphicsBeginImageContext(screenRect.size); [value drawInRect:screenRect blendMode:kCGBlendModePlusDarker alpha:1]; UIImage *tmpValue = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); 只要图像的宽高比与新resize的图像的高宽比相匹配,哪个效果很好。 我想修改这个,以保持正确的长宽比,只是在图像没有出现的地方放一个黑色的背景。 所以我仍然会得到一个320×480的图像,但在顶部和底部或侧面有黑色,这取决于原始图像的大小。 有没有一种简单的方法来做到这一点类似于我在做什么? 谢谢!