针对为什么我无法在SwiftiOS应用中使用CIFilter将图像恢复为原始图像这个问题,本篇文章进行了详细的解答,同时本文还将给你拓展iOSSwift动画–将图像移动到新位置、ios–CIFilte
针对为什么我无法在Swift iOS应用中使用CIFilter将图像恢复为原始图像这个问题,本篇文章进行了详细的解答,同时本文还将给你拓展iOS Swift动画 – 将图像移动到新位置、ios – CIFilter输出图像为零、ios – swift,使用alamofire将图像上传到php服务器、ios – SWIFT:为什么我无法在UIWebView中加载当前的URL?等相关知识,希望可以帮助到你。
本文目录一览:- 为什么我无法在Swift iOS应用中使用CIFilter将图像恢复为原始图像
- iOS Swift动画 – 将图像移动到新位置
- ios – CIFilter输出图像为零
- ios – swift,使用alamofire将图像上传到php服务器
- ios – SWIFT:为什么我无法在UIWebView中加载当前的URL?
为什么我无法在Swift iOS应用中使用CIFilter将图像恢复为原始图像
我正在开发一个简单的应用程序。它具有带有预加载图像和按钮的图像视图。按下按钮时,应在图像视图中反转图像。
它是第一次工作,但是我希望当我再次按下该按钮时,它可以将图像转换回其原始形式。但是,第二次按下按钮时,它崩溃了。
这是来自的相关代码ViewController.swift
:
@IBOutlet weak var imageView: UIImageView! @IBOutlet weak var invertButton: UIButton! @IBAction func invertButtonPressed(sender: UIButton) { let beginImage = CIImage(image: imageView.image!) let filter = CIFilter(name: "CIColorInvert")! filter.setValue(beginImage, forKey: kCIInputImageKey) imageView.image = UIImage(CIImage: (filter.outputImage)!) }
基本上,beginImage
成为nil
第二次左右,我不知道为什么。我尝试通过将这些密集的行分成尽可能多的let
分配进行调试,但是该CIImage
构造函数发生了一些神秘的事情。有任何想法吗?
答案1
小编典典问题是这一行:
imageView.image = UIImage(CIImage: (filter.outputImage)!)
你不能那样做。CIImage不会神奇地变成UIImage。图像视图需要基于 位图 的图像,而不是基于CIImage的图像。您必须 渲染
CIImage才能将其转换为UIImage,方法是获取CIContext并告诉它创建CGImage,或者将CIImage绘制到图形上下文中。
iOS Swift动画 – 将图像移动到新位置
override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view,typically from a nib. UIView.animateWithDuration(2,animations: { var newCenter = self.logoImage.center newCenter.y -= 100 self.logoImage.center = newCenter },completion: { finished in println("Basket doors opened!") }) }
徽标从我想要移动到的地方移动到原点.因此,在此示例中,徽标已经显示为(y-100),然后移动到原点X,Y.
解决方法
ios – CIFilter输出图像为零
谢谢
import UIKit class ViewController: UIViewController { @IBOutlet weak var myimage: UIImageView! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view,typically from a nib. let image = CIImage(image: myimage.image) let filter = CIFilter(name: "CISepiaTone") filter.setDefaults() filter.setValue(image,forKey: kCIInputimageKey) myimage.image = UIImage(CIImage: filter.outputimage) self.reapplyFilter() } func reapplyFilter(){ let image = CIImage(image: myimage.image) let filter = CIFilter(name: "CISepiaTone") filter.setDefaults() filter.setVa lue(image,forKey: kCIInputimageKey) //ERROR HERE: Fatal error: unexpectedly found nil while unwrapping an Optional value myimage.image = UIImage(CIImage: filter.outputimage) //ERROR } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // dispose of any resources that can be recreated. } }
解决方法
ios – swift,使用alamofire将图像上传到php服务器
Alamofire.upload(.POST,Url,multipartFormData: { multipartFormData in if let Data = UIImagePNGRepresentation(imageData) { multipartFormData.appendBodyPart(data: Data,name: "file",fileName: filename+".png",mimeType: "image/png") //print(Data) } multipartFormData.appendBodyPart(data: sessionId.dataUsingEncoding(NSUTF16LittleEndianStringEncoding)!,name: "session_id") multipartFormData.appendBodyPart(data: NSUserDefaults.standardUserDefaults().stringForKey("user_id")!.dataUsingEncoding(NSUTF8StringEncoding)!,name: "sender_id") },encodingCompletion: { encodingResult in switch encodingResult { case .Success(let upload,_,_): upload.responseJSON { response in print(response) //var data = JSON(response.result.value!) } case .Failure(let encodingError): print(encodingError) } })
我有以下错误:
FAILURE: Error Domain=NSCocoaErrorDomain Code=3840 “Invalid value around character 0.” UserInfo={NSDebugDescription=Invalid value around
character 0.}
从前一天开始,这段代码正在运行
解决方法
multipartFormData.appendBodyPart(data: NSUserDefaults.standardUserDefaults().stringForKey("user_id")!.dataUsingEncoding(NSUTF8StringEncoding)!,name: "sender_id")
此构造函数的构造函数方法
multipartFormData.appendBodyPart(data: image1Data,name: "post_img0",fileName: fileName!,mimeType: "image/png")
防爆.
let userID = NSUserDefaults.standardUserDefaults().integerForKey("UserID") let userData = String("\(userID)").dataUsingEncoding(NSUTF8StringEncoding) var image1Data : NSData! if(self.fecalImageView.image == nil ){ }else{ image1Data = UIImageJPEGRepresentation( self.fecalImageView.image!,0.5)! } Alamofire.upload( .POST,"http://www.imagesample.PHP",multipartFormData: { multipartFormData in multipartFormData.appendBodyPart(data: userData!,name: "user_id") if(image1Data == nil){ }else{ multipartFormData.appendBodyPart(data: image1Data,mimeType: "image/png") } },encodingCompletion: { encodingResult in switch encodingResult { case .Success(let upload,_): upload.responseJSON { response in if let dict = response.result.value { let msg = dict["msg"]! if msg!.isEqualToString("sample Added successfully") { } } } case .Failure(let encodingError): print(encodingError) } } )
这将解决您的问题.这个帮助.
ios – SWIFT:为什么我无法在UIWebView中加载当前的URL?
这是代码
var currentURL : Nsstring = webView.request?.URL.absoluteString!
这有什么问题?
解决方法
let currentURL : Nsstring = (webView.request?.URL.absoluteString)!
关于为什么我无法在Swift iOS应用中使用CIFilter将图像恢复为原始图像的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于iOS Swift动画 – 将图像移动到新位置、ios – CIFilter输出图像为零、ios – swift,使用alamofire将图像上传到php服务器、ios – SWIFT:为什么我无法在UIWebView中加载当前的URL?等相关内容,可以在本站寻找。
本文标签: