पर एनएसआईमेज मुझे एनएसआईमेज कोको ऑब्जेक्ट का बेस 64 स्ट्रिंग प्रस्तुति बनाने की आवश्यकता है। ऐसा करने का सबसे अच्छा तरीका क्या है, सेब प्रलेखन विषय पर थोड़ा छोटा लगता है (या मैं इसे नहीं ढूंढ सकता)। बेस 64 एन्कोडिंग बाहर से जटिल है।बेस 64
किसी भी मदद की बहुत सराहना की जाएगी।
चीयर्स एलेक्स
संपादित
NSArray *keys = [NSArray arrayWithObject:@"NSImageCompressionFactor"];
NSArray *objects = [NSArray arrayWithObject:@"1.0"];
NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:objects forKeys:keys];
NSImage *image = [[NSImage alloc] initWithContentsOfFile:[imageField stringValue]];
NSBitmapImageRep *imageRep = [[NSBitmapImageRep alloc] initWithData:[image TIFFRepresentation]];
NSData *tiff_data = [imageRep representationUsingType:NSPNGFileType properties:dictionary];
NSString *base64 = [tiff_data encodeBase64WithNewlines:NO];
मेरा अनुमान है कि है कि एलेक्स base64 छवि सांकेतिक शब्दों में बदलना नहीं चाहता है अपने उद्देश्यों के लिए, लेकिन कुछ प्राप्तकर्ता के अनुबंध को पूरा करने के लिए, उदाहरण के लिए एक वेब सेवा। ऐसा होने पर, उसे बेस 64 की आवश्यकता होगी कि वेब सेवा की अपेक्षा क्या है (शायद जेपीजी या पीएनजी डेटा)। मुझे संदेह है कि किसी छवि को एन्कोड करने के विभिन्न तरीकों पर अटकलों की आवश्यकता है, लेकिन शायद एलेक्स एक तरफ या दूसरे की पुष्टि करेगा। – danielpunkass
हे दोस्तों, मुझे लगता है कि मेरे पास base64 एन्कोडिंग dribin.org से कोड का उपयोग कर सही ढंग से काम कर रही है, लेकिन जब वर्डप्रेस फ़ाइल स्वीकार करता है और बनाता है, तो यह एक छवि नहीं है। http://alexmillsdesign.files.wordpress.com/2009/06/quickicon5.jpg मेरा मानना है कि मुझे एनएसआईमेज ऑब्जेक्ट से सही डेटा नहीं मिल रहा है इसलिए मैंने अपना कोड बदल दिया जो मेरे मूल प्रश्न के संपादन में है। मैं छवि प्रोग्रामिंग के लिए नया हूँ, मैं गलत कहां जा रहा हूँ? –
1. नामित स्थिरांक का उपयोग करें (NSImageCompressionFactor, नहीं @ "NSImageCompressionFactor")। 2. एनएसएनंबर उदाहरण का प्रयोग करें, एक स्ट्रिंग नहीं जिसमें दशमलव प्रतिनिधित्व होता है। 3. यह महत्वपूर्ण नहीं है, क्योंकि पीएनजी किसी भी तरह से एनएसआईमेज कॉम्प्रेशन फैक्टर का समर्थन नहीं करता है। 4. आप पीएनजी डेटा बना रहे हैं और अपलोड कर रहे हैं, जेपीईजी नहीं। या तो फ़ाइल नाम एक्सटेंशन के रूप में .png का उपयोग करें, या पीएनजी नहीं, जेपीईजी डेटा बनाएं और अपलोड करें। 5. यदि आप इसे डाउनलोड करते हैं, तो आप पाएंगे कि यह बेस 64 डेटा है। हो सकता है कि आपको वास्तव में बेस 64-एन्कोड करने की आवश्यकता न हो? –