좋아, 그래서 나는 아이폰에 카메라로 찍은 사진의 스크린 샷을 찍고있다. 나는있는 UIImageView에 카메라의 사진을 넣어 코드 (이 http://www.skylarcantu.com/blog/2009/10/16/saving-a-view-as-an-image/에서이다) 이런 종류의를 사용하여 스크린 샷을 잡아 ... 나는 그것이 내가 원하는대로 작동이UIGraphicsGetImageFromCurrentImageContext는 저품질/저해상도 이미지를 제공하지만 어떻게 개선 될까요?
- (void)takeScreenshot {
UIWindow *theScreen = [[UIApplication sharedApplication].windows objectAtIndex:0];
UIGraphicsBeginImageContext(theScreen.frame.size);
[[theScreen layer] renderInContext:UIGraphicsGetCurrentContext()];
UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[self doSomethingWith:screenshot];
}
하지만 스크린 샷의 화질이 많이 있습니다 카메라로 촬영 한 이미지보다 나 빠졌습니다. 이것을 극복 할 수있는 방법이 있습니까? 아마 이것이 카메라의 해상도가 아닌 iPhone 화면의 해상도를 캡처하는 스크린 샷을 찍기 때문일 것입니다 - 어쩌면?!
어떤 제안 사항도 좋을 것입니다 :-)
맞습니다. 해상도를 잃지 않고 오버레이 할 수 있습니까? – user157733
아니요, 더 복잡 할 것 같습니다. 원래 카메라 이미지의 크기로 UIGraphicsBeginImageContext()를 호출하고 그 안에 drawAtPoint를 실행 한 다음 동일한 내용으로 다른 것을 그려야합니다. 그런 다음 궁극적으로 UIGraphicsGetImageFromCurrentImageContext()를 호출하여 새로운 합성 이미지를 얻습니다. –
잘 머리를 주셔서 감사합니다, 나는 그것에 대해 조사 할 것입니다. 이 모든 일은 내가 생각하는 것처럼 결코 쉬운 일이 아닙니다! – user157733