- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在我的 iOS 应用程序中,我想在 UIImage 上应用滤镜 CIGaussianBlur,当它获得具有较大高度的图像时,它会旋转图像
CIContext *context = [CIContext contextWithOptions:nil];
CIImage *inputImage = [[CIImage alloc] initWithImage:image]; //get image for blur
CIFilter *blurFilter = [CIFilter filterWithName:@"CIGaussianBlur"];
[blurFilter setDefaults];
[blurFilter setValue:inputImage forKey:@"inputImage"];
CGFloat blurLevel = 0.0f; // Set blur level
[blurFilter setValue:[NSNumber numberWithFloat:blurLevel] forKey:@"inputRadius"];
// set value for blur level
CIImage *outputImage = [blurFilter valueForKey:@"outputImage"];
CGRect rect = inputImage.extent; // Create Rect
rect.origin.x += blurLevel; // and set custom params
rect.origin.y += blurLevel; //
rect.size.height -= blurLevel*2.0f; //
rect.size.width -= blurLevel*2.0f; //
CGImageRef cgImage = [context createCGImage:outputImage fromRect:rect];
// Then apply new rect
UIImageOrientation originalOrientation = _imageView.image.imageOrientation;
CGFloat originalScale = _imageView.image.scale;
UIImage *fixedImage=[UIImage imageWithCGImage:cgImage scale:originalScale orientation:originalOrientation] ; //output of CIGaussianBlur
最佳答案
它对我有用。
_imageView.image=image;
UIImageOrientation originalOrientation = _imageView.image.imageOrientation;
CGFloat originalScale = _imageView.image.scale;
UIImage *fixedImage=[UIImage imageWithCGImage:cgImage scale:originalScale orientation:originalOrientation] ;
关于ios - CIGaussianBlur 有时会改变 imageOrientation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21185207/
这个问题在这里已经有了答案: How Do I Blur a Scene in SpriteKit? (7 个答案) 关闭 7 年前。 我正在尝试在游戏暂停屏幕上应用 CIGaussianBlur
我想模糊我的 View ,我使用这段代码: //Get a UIImage from the UIView NSLog(@"blur capture"); UIGraphicsBeginImageCo
在我的 iOS 应用程序中,我想在 UIImage 上应用滤镜 CIGaussianBlur,当它获得具有较大高度的图像时,它会旋转图像 CIContext *context = [CICont
我只需要在图像的一小部分应用 CIGaussianBlur 滤镜,如下所示: 有什么办法吗?例如,当我应用过滤器时,我可能认为我必须指定过滤器的维度(例如 CGRectMake)。 var image
正如我注意到的,当将 CIGaussianBlur 应用于图像时,图像的角变得模糊,因此它看起来比原始图像小。所以我发现我需要正确裁剪它以避免图像的透明边缘。但是如何根据模糊量计算我需要裁剪多少? 例
我正在尝试模糊 applicationWillResignActive 上的 AVCaptureVideoPreviewLayer,就像在普通的 iOS 相机应用程序中一样。 由于栅格化 AVCapt
我有一个范围从 0 到 30 的 UISlider。 不幸的是,当我使用 UISlider 时,图像开始变得模糊,但它也在旋转。 代码如下: -(IBAction)slider:(UISlider *
当我应用 GaussianBlur 时,边缘仍然像这样 case 我知道图像大小的问题。模糊效果变得比源图像更大。但我不知道如何应用原始图像大小:( 这是我的代码: func applyBlurEff
我试图在 iOS 6 上使用 CoreImage 模糊图像,但没有明显的黑色边框。 Apple documentation声明使用 CIAffineClamp 过滤器可以实现此目的,但我无法从过滤器中
我是一名优秀的程序员,十分优秀!