Я хочу, чтобы достичь эффекта, что вид пароля есть (обои картинка размыта и темнее)Размытие UIImage для достижения эффекта, как секретного кода размытия обои с быстрым
Это дает мне черный экран
func blurWithCoreImage(){
var inputImage = CIImage(image: UIImage(named: "wallpaper"));
// Apply gaussian blur filter with radius of 30
var gaussianBlurFilter = CIFilter(name: "CIGaussianBlur");
gaussianBlurFilter.setValue(inputImage, forKey: "inputImage")
gaussianBlurFilter.setValue(30, forKey: "inputRadius")
var context = CIContext(options:nil)
var cgImage = context.createCGImage(gaussianBlurFilter.outputImage, fromRect: inputImage.extent())
// Set up output context.
UIGraphicsBeginImageContext(self.view.frame.size);
var outputContext = UIGraphicsGetCurrentContext();
// Invert image coordinates
CGContextScaleCTM(outputContext, 1.0, -1.0);
CGContextTranslateCTM(outputContext, 0, -self.view.frame.size.height);
// Draw base image.
CGContextDrawImage(outputContext, self.view.frame, cgImage);
// Apply white tint
CGContextSaveGState(outputContext);
// CGContextSetFillColorWithColor(outputContext, UIColor.blackColor().CGColor!);
CGContextFillRect(outputContext, self.view.frame);
CGContextRestoreGState(outputContext);
// Output image is ready.
var outputImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
backgroundImg.image = outputImage;
}
Эта функция делает изображение стираться, но allso уменьшить изображение и слишком далеко от эффекта ввиду секретного кода
func blurWithCoreImage2(){
var ciimage = CIImage(image: UIImage(named: "passcode"))
var filter = CIFilter(name:"CIGaussianBlur")
filter.setDefaults()
filter.setValue(ciimage, forKey: kCIInputImageKey)
filter.setValue(1, forKey: kCIInputRadiusKey)
var outputImage = filter.outputImage;
var finalImage = UIImage(CIImage: outputImage);
backgroundImg.image = finalImage;
UIGraphicsEndImageContext();
}
Какие версии прошивки вы должны поддерживать? – JoeFryer
8.0 и выше ... – Ben
Хорошо, я добавил ответ. – JoeFryer