У меня есть чувство собственного зрения с точкой зрения изображения:IOS сделать скриншот всего выпуска экрана
UIImageView *imageView = [[UIImageView alloc] initWithFrame:self.bounds];
[self setBluredImageView:imageView];
[self addSubview:imageView];
- (UIImage *)takeSnapshotOfView:(UIView *)view
{
CGFloat reductionFactor = 1;
UIGraphicsBeginImageContext(CGSizeMake(view.frame.size.width/reductionFactor, view.frame.size.height/reductionFactor));
[view drawViewHierarchyInRect:CGRectMake(0, 0, view.frame.size.width/reductionFactor, view.frame.size.height/reductionFactor) afterScreenUpdates:YES];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
В методе, когда я хочу показать мой взгляд самого по другому мнению, я делаю это:
- (void)showMe; {
AppDelegate* app = [AppDelegate shared];
[app.window addSubview:self];
UIImage *image = [self blurWithImageEffects:[self takeSnapshotOfView:app.window]];
[[self bluredImageView] setImage:image];
[UIView animateWithDuration:0.4 animations:^{
[self setAlpha:1.0];
}];
}
So как вы видите, я хочу размыть «графический контекст», основанный на главном окне. В первый раз, когда я представляю свое представление о себе, он отлично работает, но затем что-то вроде размытого изображения умножает друг друга.
Так это изображение, когда я только первый показать мой взгляд:
Когда я представляю мой взгляд несколько раз размытое изображение выглядит следующим образом:
Итак, как вы можете видеть каждый раз, когда размытый скриншот отличается, но я использую тот же метод для получения снимка экрана и не обновляю содержимое контроллера вида или других частей.
Найдены необогаженные методы и категории изображений here.
есть у проверил следующие ответы: http://stackoverflow.com/questions/18956611/programmatically-screenshot-works-bad-on -ios-7 –
, а также те: http://stackoverflow.com/questions/2200736/how-to-take-a-screenshot-programmatically –