2010-04-21 4 views
8

पर पीएनजी छवि को कैसे पढ़ा जाए मैं एनएसआईमेज में पीएनजी छवि कैसे पढ़ सकता हूं। मैं निम्नलिखित तरीके से कोशिश की, लेकिन जब मैं चौड़ाई और छवि .. मैं कुछ अजीब मूल्य मिल रहा है के आकार पाने के किसी भी एक मुझे सही रास्ते में प्रत्यक्ष कर सकते हैं अगर .. अत्यधिक उचित ..एनएसआईमेज

NSImage * picture = [[NSImage alloc] initWithContentsOfFile: [bundleRoot stringByAppendingString:tString]]; 

NSLog(@"sixe %d %d",picture.size.width, picture.size.height); 
if(picture){ 
    NSLog(@"Picture is not null"); 
}else { 
    NSLog(@"Picture is null."); 
} 

धन्यवाद

+0

ऐसा लगता है कि मेरे .png में अल्फा चैनल को अवहेलना करना है। क्या इसे बनाए रखने का कोई तरीका है? –

उत्तर

6

छवि लोड करने के लिए आपका कोड सही है।

आकार प्रदर्शित करने के लिए कोड गलत है; एनएसएसआईएस के सदस्य CGFloat हैं जिन्हें% f प्रारूप स्ट्रिंग के साथ प्रिंट किया जाना चाहिए:

NSLog(@"size %f %f",picture.size.width, picture.size.height); 
+0

त्वरित उत्तर के लिए Thx, क्या आप मुझे बता सकते हैं कि नीचे दिए गए कोड को मैक ओएस एक्स आईफोन ऐप -> UIKit का उपयोग करके CGRect rect = CGRectMake (ऑफसेट.एक्स * स्केल, ऑफसेट.ए * स्केल, स्केल * आकार । विड्थ, स्केल * आकार। हाइट); UIGraphicsPushContext (ctx); [छवि drawInRect: rect]; UIGraphicsPopContext(); – Sam

+1

ड्रॉइंग गाइड (http://developer.apple.com/mac/library/documentation/cocoa/Conceptual/CocoaDrawingGuide/GraphicsContexts/GraphicsContexts.html) पर एक नज़र डालें। यह बताता है कि ग्राफिकल संदर्भ कैसे प्राप्त करें और छवियों को कैसे आकर्षित करें। –

2

[NSImage imageNamed:tString] का उपयोग करें। tString छवि फ़ाइल का मूल फ़ाइल नाम होना चाहिए; और फ़ाइल एक्सटेंशन को शामिल करने की आवश्यकता नहीं है।

+0

त्वरित उत्तर के लिए Thx, क्या आप मुझे बता सकते हैं कि नीचे दिए गए कोड को मैक ओएस एक्स आईफोन ऐप -> UIKit का उपयोग करके CGRect rect = CGRectMake (ऑफसेट.एक्स * स्केल, ऑफसेट.ए * स्केल, स्केल * आकार । विड्थ, स्केल * आकार। हाइट); UIGraphicsPushContext (ctx); [छवि drawInRect: rect]; UIGraphicsPopContext(); – Sam