2013-07-31 3 views
0

이미지의 일정 (크기는 640 x 960 또는 960 x 640)을 만들어야합니다. 내가 시도한 한 가지 접근법은 뷰를 생성하고, 이미지 뷰를 추가하고, 이미지를 제시하고, 하위 뷰를 사용하여 뷰를 그린 다음 파일로 저장하는 것입니다.목표 C/도면 및 해상도 관련 질문

이제 예상대로 작동하지만 시뮬레이터에서 테스트하면 저장된 이미지의 해상도는 306 x 462 (저장중인 뷰의 크기)입니다. 이제 방금 원래 해상도의 절반을 잃었습니다 ...

이 문제를 해결할 수있는 방법이 있습니까? 사람이 비슷한 문제가있는 경우, 나는이 개 솔루션을 마련했습니다

UIGraphicsBeginImageContext(self.backgroundImageView.bounds.size); 
[self.backgroundImageView.layer renderInContext:UIGraphicsGetCurrentContext()]; 
UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString * basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil; 

NSString *fullPath = [NSString stringWithFormat:@"%@/Calendar.png",basePath]; 
NSData * binaryImageData = UIImagePNGRepresentation(image); 

[binaryImageData writeToFile:fullPath atomically:YES]; 

답변

-2

: 뷰 저장

코드

1) 저장하기 전에 모든 것을 확대는 (당신이 놀러해야합니다 AutoresizingMasks와 함께).

2) 모든 것을 scrollView에 넣고 큰 크기로 표시하여 사용자가 모든 것을보고 싶을 때 스크롤합니다.

0

기기 화면 크기를 고려하지 않아야합니다. UIGraphicsBeginImageContextWithOptions(self.backgroundImageView.bounds.size, YES, [UIScreen mainScreen].scale);.