में दिए गए गलत NSData आकार में मैंने 13.3 एमबी छवि ली और इसे एक्सकोड में जोड़ा। मुझे पता है कि संकलन करते समय, एक्सकोड फ़ाइल आकार को कम करने के लिए कुछ चाल करता है। मैं ऐसा किया, परीक्षण करने के लिए कितना बड़ा छवि अब था, डेटा में परिवर्तित होने के बाद:बाइट
UIImage *image = [UIImage imageNamed:@"image.jpg"];
NSData *data = UIImageJPEGRepresentation(image, 1.0);
NSLog(@"length: %i", data.length);
लंबाई मुझे मिल वापस 26758066
था। यदि यह बाइट्स में है, तो यह मुझे 26.7 एमबी के रूप में पढ़ता है। छवि इतनी बड़ी अचानक कैसे है? क्या यूआईएममेज के माध्यम से बिना डेटा फॉर्म में छवि प्राप्त करने का कोई और तरीका है?
संपादित करें: इसके अलावा परीक्षण पता चलता है कि इस काम करता है, और ~ 13.3MB के एक डेटा लंबाई लाता है - उम्मीद की राशि:
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"image" ofType:@"jpg"];
NSData *data = [NSData dataWithContentsOfFile:filePath];
NSLog(@"length: %i", data.length);
क्या कोई विशिष्ट कारण है कि आप छवि के 'NSData' को चाहते हैं? –
यदि आपने अपने प्रश्न का उत्तर दिया है, तो कृपया एक उत्तर दें और इसे सही के रूप में चिह्नित करें। –
@NathanWhite 1. मुझे NSData चाहिए ताकि मैं परीक्षण ऐप में कुछ मेमोरी उपयोग चीजों का परीक्षण कर सकूं। 2. पहला सवाल अभी भी बनी हुई है - UIImageJPEGRepresentation पहले छवि के आकार को 2x वापस क्यों दे रहा है? – Andrew