2010-04-21 12 views
8

jak mogę odczytać obraz PNG do NSImage. Próbowałem następujący sposób, ale kiedy się szerokość i rozmiar obrazu Dostaję jakieś dziwne wartości .. jeśli ktoś może skierować mnie na właściwą drogę .. bardzo odpowiedni ..Jak odczytać obraz PNG do NSImage

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."); 
} 

Dzięki

+0

Wydaje się to lekceważyć kanał alfa w moim pliku .png. Czy istnieje sposób, aby to zatrzymać? –

Odpowiedz

6

Twój kod do załadowania obrazu jest prawidłowy.

Kod wyświetlany w rozmiarze jest nieprawidłowy; Członkami NSSize są CGFloat, które powinny być drukowane z łańcuchem formatu% f:

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

Thx za szybką odpowiedź, czy możesz mi powiedzieć, jak przekonwertować poniższy kod na Mac OS X Aplikacja Iphone -> przy użyciu UIKit CGRect rect = CGRectMake (offset.x * skala, offset.y * skala, skala * rozmiar) .width, scale * size.height); UIGraphicsPushContext (ctx); [image drawInput: rect]; UIGraphicsPopContext(); – Sam

+1

Zobacz Przewodnik rysowania (http://developer.apple.com/mac/library/documentation/cocoa/Conceptual/CocoaDrawingGuide/GraphicsContexts/GraphicsContexts.html). Wyjaśnia, jak uzyskać kontekst graficzny i jak rysować obrazy. –

2

Użyj [NSImage imageNamed:tString]. tString powinien być podstawową nazwą pliku obrazu; i nie musi zawierać rozszerzenia pliku.

+0

Thx za szybką odpowiedź, czy możesz mi powiedzieć, jak przekonwertować poniższy kod na Mac OS X Aplikacja Iphone -> przy użyciu UIKit CGRect rect = CGRectMake (offset.x * skala, offset.y * skala, skala * rozmiar) .width, scale * size.height); UIGraphicsPushContext (ctx); [image drawInput: rect]; UIGraphicsPopContext(); – Sam