2011-10-13 3 views
1

iPhone/iPad 사진 라이브러리의 일부 이미지를 내 응용 프로그램에서 가져 와서 Core Data 엔티티에 저장하고 작은 축소판 이미지 (48x48 픽셀)로 표시해야합니다. UITableViewCell 및 약 80x80 픽셀의 디테일 UIView. 나는 UIImageJPEGRepresentation(value, 0.1)을 사용하여 NSData로 변환하고 코어 데이터 내부에 바이트를 저장하는 조리법 샘플 앱을 따라 갔다. 그리고 많은 공간을 차지하는 것을 끝내지 않았다. 그러나 UIImage *uiImage = [[UIImage alloc] initWithData:value];을 사용하여 데이터를 검색하고이를 "Aspect Fit"과 함께 축소판 이미지로 표시하면 끔찍하고 낟알 보입니다. JPEG 압축에서 이미지 품질 변수를 변경하려고 시도했지만 0.9로 설정해도 도움이되지 않습니다.iOS : 코어 데이터에 축소판 이미지 저장

정상입니까? 그렇게 많은 grainee-ness를 발생시키지 않는 이미지를 압축하는 더 좋은 방법이 있습니까? 작은 썸네일과 약간 큰 썸네일을 보여 주기만하면 Core Data가 iData를 저장해야하기 때문에 (이론적으로) iCloud도 지원해야하기 때문에 Core Data가이를 저장하는 것이 좋습니다. 그러나 그것이 끔찍 해 보일 경우, 다시 생각해야 할 것입니다.

답변

1

두 가지, 올바른 크기로 이미지의 크기를 조정하고 있습니까? UIImagePNGRepresentation()을 사용해 보셨습니까? 품질을 잃지 않고 압축해야합니다.

+0

감사합니다. 나는 둘 다 시도했지만, 모든 상황에서 이미지가 끔찍 해 보입니다. 아이폰에서는 잘 작동하지만, iPad에서는 라이브러리에서 이미지를 선택하는 것이 엄청납니다. 어쩌면 48x48 미리보기 이미지에 Aspect Fit을 사용하는 것이 좋지 않을 수도 있습니다. UIImage 크기 조정 알고리즘으로 무엇을 권하고 싶습니까? 어쩌면 그 문제가 있습니다. 나는 이것을 사용하고있다 : http://vocaro.com/trevor/blog/2009/10/12/resize-a-uimage-the-right-way/ –

0

UIImagePNGRepresentation (무손실)이 나쁜 이미지를 제공하는 경우 문제는 이미지 크기 조정 코드에 있습니다. 핵심 데이터는 당신이 넣은 것을 되돌려주는 것일 뿐이므로 잘못된 이미지가 나오면 나쁜 이미지를 넣을 수 있습니다.

iPhone/iPad 망막 중 하나와 다른 망막 중 하나가 아닌가요? 그렇다면 48x48 픽셀 이미지를 원하지 않는다는 문제가 있습니다. 48x48 포인트가 필요합니다 (즉, 망막 품질 디스플레이에 96x96 이미지가 2 개 필요합니다).

관련 문제