Существует множество способов сделать это. Одним из наиболее простых является использование CGContextDrawImage
. В DrawRect:
CGContextRef ctx = [[NSGraphicsContext currentContext] graphicsPort];
CGDataProviderRef provider = CGDataProviderCreateWithData(nil, bitmap, bitmap_bytes, nil);
CGImageRef img = CGImageCreate(..., provider, ...);
CGDataProviderRelease(provider);
CGContextDrawImage(ctx, dstRect, img);
CGImageRelease(img);
CGImageCreate имеет кучу аргументов, которые я оставил здесь, как правильные значения будут зависеть от того, что ваш формат растрового изображения. See the CGImage reference for details.
Обратите внимание, что если ваше растровое изображение является статическим, возможно, имеет смысл удерживать его до CGImageRef
, вместо того, чтобы немедленно утилизировать его. Вы лучше знаете, как работает ваше приложение, поэтому вы решаете, имеет ли это смысл.
http://www.whathaveyoutried.com? – Luke
Я пробовал использовать CGImage, но я не могу заставить его работать. Чтобы создать CGImage, я должен передать CGDataProvider в качестве параметра, и я не знаю, как это работает ... Кажется, это очень простая задача, поэтому я подумал, что я ошибся ... – GabrielOshiro