2012-09-11 2 views
3

내 앱은 전체 웹 페이지의 스크린 샷을 찍습니다. 사진 앨범에 저장하면 이미지 품질이 약간 떨어지고 정지 이미지의 텍스트가 흐리거나 읽기 어려워집니다. 포토 앨범에 저장할 때 더 나은 품질을 약속하는이 솔루션을 찾았지만 여전히 완벽하게 받아 들일 수없는 것으로 보입니다. UIImage를 포토 앨범에 저장하는 것보다 더 나은 품질의 손실을 최소화하는 방법이 있습니까? 감사.품질 손실없이 UIImage 저장

UIImage* img = [UIImage imageWithCGImage:screenshotImage.CGImage]; 
NSData* imdata = UIImagePNGRepresentation (img); 
UIImage* image = [UIImage imageWithData:imdata]; // wrap UIImage around PNG representation 

UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil); 
+0

'img'와'image' 품질을 확인 했습니까 (아마도 이미지보기에 표시 될 것입니까?)? –

+0

http://developer.apple.com/library/ios/#qa/qa1703/_index.html –

+0

품질이 떨어지는 곳은 어디입니까? 제발, 몇 가지 스크린 샷을 제시하십시오 당신이 얼마나 _ 품질 _을 의미합니다. – holex

답변

0

이미지 품질 설정 외에 이미지 유형을 저장하는 데 가장 적합한 이미지 형식을 알아야합니다.

나는 카메라로 찍은 것과 같은 실제 세계의 이미지를 선호한다. JPEG는 좋은 압축을 달성하는 동시에 높은 이미지 품질을 유지하는 더 나은 작업을 수행합니다.

이미지의 많은 부분이이 웹 페이지 나 프로그래밍 편집기와 같은 색으로 나타나는 스크린 샷을 찍는다면 PNG를 사용하는 것을 선호합니다. PNG는 JPEG에 자주 나타나는 더러운 아티팩트를 만들지 않고 이미지를 저장하지만 이러한 이미지 유형의 압축률은 여전히 ​​높습니다.

위의 이유는 각각의 압축 알고리즘 (JPEG은 FFT, PNG는 DEFLATE)과 관련이 있습니다. 이미지 유형과 품질 설정을 변경하여 차이가 있는지 확인하십시오.

+0

감사합니다. 몇 가지 조사를하고 결과를 다시 보겠습니다. – Vad

+1

UIGraphicsBeginImageContextWithOptions (webView.scrollView.contentSize, NO, 0); 나에게 매우 만족스러운 결과를 주었다. – Vad