CGImageRef myDrawnImage = [self createCGImageRefFromFile:thePath];
Теперь у вас есть ваше изображение.
CGContextRef context = (CGContextRef)[[NSGraphicsContext currentContext] graphicsPort];
Теперь у вас есть контекст вашего представления. У вас есть все, что нужно для рисования изображения.
CGContextRef myContextRef = CreateARGBBitmapContext(myDrawnImage);
Подождите, что?
myDrawnImage = CGBitmapContextCreateImage(myContextRef);
О ... ладно ... теперь вы захватили содержимое контекста, в который ничего не попало, забыв о (и вытекая) загруженном изображении, заменив его пустым изображением.
CGContextDrawImage(context, imageRect, myDrawnImage);
Вы рисуете пустое изображение.
Вырежьте создание растрового контекста и создание изображения содержимого этого контекста, и просто нарисуйте загруженное вами изображение в контексте для вашего просмотра.
Или используйте NSImage. Это будет двухслойный.