在iOS 6 SDK中,我编写了以下几行代码来在button中显示图像: NSURL *thumbURL2 = [NSURL URLWithString:@"http://example.com/thumbs/2.jpg"]; NSData *thumbData2 = [NSData dataWithContentsOfURL:thumbURL2]; UIImage *thumb2 = [UIImage imageWithData:thumbData2]; [btn2 setImage:thumb2 forState:UIControlStateNormal]; [self.view addSubview:btn2]; 但是现在用Xcode 5和iOS 7,这是行不通的。 该button不包含图像。 button用蓝色填充。
有谁知道如何将UIImage转换为Base64string,然后将其反转? 我有下面的代码; 编码之前的原始图像是好的,但我编码和解码后,我只得到一个空白的图像。 NSData *imageData = UIImagePNGRepresentation(viewImage); NSString *b64EncStr = [self encode: imageData]; NSString *base64String = [self encodeBase64:imageData];
从邮件中的URL 图像 我将图像添加到邮件视图。 它会显示完整的图像。 但是我想计算一下,按比例改变图像的高度和宽度。 我怎样才能得到UIImage的高度和宽度?
我有一个支持iOS8和更高版本的应用程序,内置Xcode 7,我使用XIB作为启动屏幕(我没有启动图像)。 该视图包含具有应用程序版本的单个UILabel以及具有图像的2个UIImageViews,这些图像都存在于Images.xcassets中:徽标和飞溅图像。 当我启动应用程序时,UILabel和徽标图像显示正确,但如果我使用iOS9在iPad Air 2上运行应用程序,则飞溅图像不会显示。 我已经在Air和Mini上运行的iOS8以及适用于iPad 2,iPad Air和iPad Air 2的iOS9模拟器进行了testing,所有这些图像都正确显示。 我跑了一些基本的故障排除,看看能不能解决这个问题,但是我一直无法解决这个问题。我能看到的工作图像和失败图像之间的唯一区别是, 当我将它添加到资产… 下面是我所知道的一个概要: 飞溅图像的UIImageView位于正确的位置,大小正确。 我可以告诉这个,因为我把它的背景颜色设置为绿色来确保。 视图在那里,但图像不显示。 所以我假设这个观点不是怪罪。 设置飞溅图像的UIImageView也使用徽标图像使徽标图像出现在视图的正确位置。 这也导致我认为这个观点不是怪罪。 我在飞溅图像视图中使用的UIImage在应用程序中的其他位置使用,并在其他视图中显示正常(徽标图像也用于应用程序中的其他位置,显示正常)。 所以我假设图像是有效的,让它出现在其他视图中不是问题。 我已经确认了logo和U盘中的文件的UIImage的设置是相同的。 它们设置为通用,任何宽度和高度,多个比例因子,默认呈现。 有一个区别 – 标志有1倍,2倍和3倍的比例,而飞溅图像只有1倍和2倍,但我也尝试使用UIImages只有1倍,1倍和2倍值在UIView和他们的工作(如果他们前一段时间添加到项目中)。 将不同大小或格式的另一张图像(PNG和JPG)添加到我的xcassets中,并在UIImageView中使用UIImage显示飞溅图像也无法显示。 将另一个UIImageView添加到XIB文件并为其分配一个已经在xcassets中的UIImage,该图像将出现在加载屏幕中。 复制和重命名用于徽标的图像文件并将其添加到项目中,然后在飞溅视图中使用该UIImage也无法显示。 我已经尝试清理项目,重新启动开发机器,并从Air 2删除应用程序,并重新安装,以防万一是一个问题。 最后三个步骤使我相信在项目文件的生命周期的某个点之后添加图像会有一些问题。 虽然我昨天更新到Xcode 7,但是最初在Xcode 6中添加了初始图像,但是在几个月之前添加了标识图像(也添加到了Xcode 6中)。 我已经查看了JSON文件的徽标图像和飞溅图像,他们似乎具有相同的格式。 我也通过pbxproj文件寻找差异,我看不到任何。 所以我想知道如果有人有任何想法,为什么启动屏幕可能不会显示这些新的图像,我特别添加在Air 2上? 我一直在阅读的其他问题,涉及到图像没有出现所有似乎都与启动图像或XIB文件中具有关联类的图像有关,这两者在这里都不相关。
我有一个名为“theImageView”的UIImageView,UIImage在单一颜色(透明背景),就像下面的左边的黑色心脏一样。 如何根据iOS 7+导航栏图标中使用的色调方法,在iOS 7或更高版本中以编程方式更改此图像的色调颜色? 此方法也可以在WatchKit中使用Apple Watch应用程序吗?
我正在处理用户使用UIBezierPathselect其中一部分的图像。 我如何删除/清除/透明所有不属于该select的内容?
我正在制作一个应用程序,用AVFoundation拍照,我想将它们保存到自定义相册,然后我可以查询和显示在我的应用程序。 (除非用户需要,否则我不希望在普通照片中包含这些内容)我无法在Swift中find任何显示如何执行此操作的内容。 有没有不同的方式,我应该这样做? 我在SO上find了这个例子,但对我来说没有任何意义,我也无法使它起作用。 func savePhoto() { var albumFound : Bool = false var assetCollection: PHAssetCollection! var photosAsset: PHFetchResult! var assetThumbnailSize:CGSize! // Create the album if does not exist (in viewDidLoad) if let first_Obj:AnyObject = collection.firstObject{ //found the album self.albumFound = true self.assetCollection = collection.firstObject as PHAssetCollection }else{ //Album placeholder for the asset collection, used […]
我发现这个代码 : func screenShotMethod() { //Create the UIImage UIGraphicsBeginImageContext(view.frame.size) view.layer.renderInContext(UIGraphicsGetCurrentContext()) let image = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() //Save it to the camera roll UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil) } 我需要做什么才能将所有其他元素(如导航栏)放到屏幕截图中?
我的程序从左到右显示一个用UIImageViews平铺的水平滚动表面。 代码在UI线程上运行,以确保新显示的UIImageView具有分配给它们的新鲜加载的UIImage。 加载发生在后台线程上。 一切工作几乎没有问题,除了有一个口吃每个图像变得可见。 起初我以为我的后台工作人员在UI线程中locking了一些东西。 我花了很多时间看它,并最终意识到,UIImage在UI线程上进行一些额外的惰性处理时,它首先变得可见。 这让我很困惑,因为我的工作线程有明确的代码来解压缩JPEG数据。 无论如何,在预感上,我写了一些代码在后台线程中渲染成一个临时的graphics上下文,果然,口吃消失了。 UIImage现在被预先加载在我的工作线程上。 到现在为止还挺好。 问题是我的新的“强制延迟加载图像”方法是不可靠的。 它会导致间歇性的EXC_BAD_ACCESS。 我不知道UIImage究竟在幕后做了些什么。 也许是解压缩JPEG数据。 无论如何,这个方法是: + (void)forceLazyLoadOfImage: (UIImage*)image { CGImageRef imgRef = image.CGImage; CGFloat currentWidth = CGImageGetWidth(imgRef); CGFloat currentHeight = CGImageGetHeight(imgRef); CGRect bounds = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f); CGAffineTransform transform = CGAffineTransformIdentity; CGFloat scaleRatioX = bounds.size.width / currentWidth; CGFloat scaleRatioY = bounds.size.height / currentHeight; UIGraphicsBeginImageContext(bounds.size); […]
我能够从照片库中挑选并显示图像,但是我的目标是能够将所选图像或文件path保存到核心数据,以便在select保存的logging时也可以显示图像。 我有CoreData的工作,我能够显示来自CoreData的文本罚款,这只是图像抱着我。 @IBAction func addPic(sender: AnyObject) { pickerController.delegate = self pickerController.sourceType = UIImagePickerControllerSourceType.PhotoLibrary // 2 self.presentViewController(pickerController, animated: true, completion: nil) // Displays image func imagePickerController(picker: UIImagePickerController!,didFinishPickingMediaWithInfo info: NSDictionary!){ image.image = info[UIImagePickerControllerOriginalImage] as? UIImage self.dismissViewControllerAnimated(true, completion: nil)