какао: Как я могу нарисовать увеличенную версию NSBitmapImageRep?

Я хочу использовать NSBitmapImageRep для создания спрайта размером 64x64 пикселя в коде, а затем нарисовать его на экране очень большим. В результате на экране будут очень большие «пиксели». Вспомните старую школу Mario Bros. или Minecraft. Как я могу это сделать?

Редактировать Я хочу нарисовать это растровое изображение за пределами экрана, а затем визуализировать его позже на CALayer.


person mtmurdock    schedule 25.02.2012    source источник


Ответы (1)


Откройте новый контекст изображения с помощью CGBitmapContextCreate и используйте

void CGContextSetInterpolationQuality (
   CGContextRef c,
   CGInterpolationQuality quality
);

чтобы установить качество интерполяции на kCGInterpolationNone.

Затем нарисуйте изображение в контексте.

person Erik Aigner    schedule 25.02.2012
comment
На самом деле я больше ищу, как использовать NSBitmapImageRep в первую очередь. Это кажется довольно сложным. Есть ли простое растровое представление, которое я могу использовать? Или вы знаете какие-нибудь хорошие учебники для этого? - person mtmurdock; 25.02.2012
comment
Что вы подразумеваете под простым растровым представлением, которое я могу использовать? - person Erik Aigner; 25.02.2012
comment
Я имел в виду что-то вроде класса Bitmap Java, но я нашел другое решение, вдохновленное вашим ответом. Я добавляю отдельные пиксели в NSImage, а затем масштабирую их при выводе на экран. Это дает мне хорошую абстракцию NSImage и визуальный эффект, который я хочу. Спасибо! - person mtmurdock; 25.02.2012