2010-04-30 4 views
0

응용 프로그램 자원 번들에 여러 이미지 (PNG, GIF 및 JPG)가 있습니다. 나는 그래서 내가 사용하는 몇 가지 이미지가 내 문서 디렉토리에 저장하려는 : 이것은 내 원하는 경로에 이미지 파일을 저장NSData를 사용하여 PNG 이미지를 저장하는 중 writetofile은 손상된 데이터를 iphone 디스크에 저장합니다.

imgPath=[documentsDirectoryPath stringByAppendingPathComponent:@"myImage.png"]; 

    if (![fileMgr fileExistsAtPath:imgPath]) { 

    [[fileMgr contentsAtPath:[[NSBundle mainBundle] pathForResource:@"myImage"ofType:@"png"]] writeToFile:imgPath atomically:NO]; 

} 

하지만이 파일은 어떤 결과 거기에 (아마도 정크 데이터) 엑스트라 300 바이트를 가지고 손상된 이미지에서 ... 내가 여기서 뭐 잘못하고 있니?

이것은 시뮬레이터에서 작동하지만 실제 장치에서는 이미지에 추가로 300 바이트가 추가됩니다. 또한 GIF 이미지가 잘 복사되고 작동하지만이 문제는 PNG 이미지에서 발생합니다.

답변

1

더 나은 결과를 얻으려면 NSFileManagers-(BOOL)copyItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath error:(NSError **)error 방법을 사용해보세요.

Mac에서 저장된 PNG를 보려면 앱을 빌드 할 때 Xcode에서 PNG를 iPhone 최적화 버전으로 변환하므로 문제가있을 수 있습니다.

Here is more info on the optimizations performed 여기에 Apple's Technical Q&A입니다. 최적화를 취소하여 바탕 화면에서 이미지를 볼 수 있습니다.

+0

감사합니다 .... 지금 JPEG 형식을 사용하고 있습니다 ... – jAmi

관련 문제