Как рисовать изображения на OSX с помощью CGContext

У меня есть CGContext, и я попытался нарисовать на нем изображение. У меня есть загрузка NSImage *, которую я использовал для другого метода.

NSImage *check = [[NSImage alloc] initWithContentsOfFile:@"check.icns"];
CGContextDrawImage(arg2, CGRectMake(0, 0, 145, 15), check);

Но CGContext хочет CGImage * как я могу использовать свой NSImage *?

Спасибо


person kavaliero    schedule 22.05.2012    source источник
comment
возможный дубликат преобразования NSImage* в CGImageRef?   -  person trojanfoe    schedule 22.05.2012


Ответы (1)


В этом случае вам следует просто открыть его как CGImage, если это все, для чего он вам нужен. Если NSImage это то, что вам нужно, см. -[NSImage CGImageForProposedRect:context:hints:]. Этот метод может не требовать копии, и он может создать представление CGImage, идеально подходящее для рисования в контексте назначения.

При необходимости вы можете создать NSGraphicsContext из CGContext, используя +[NSGraphicsContext graphicsContextWithGraphicsPort:flipped:].

person justin    schedule 22.05.2012