Как нарисовать спрайт с NSImage? - PullRequest
0 голосов
/ 10 марта 2012

Я пытаюсь нарисовать спрайт с помощью NSImage, используя метод drawInRect.Я быстро заметил, что координаты, передаваемые в ритах, не в пикселях, а в точках.Мне нужно рисовать свои спрайты с точностью до пиксельного уровня, так как каждый спрайт имеет размеры точно 73x92 пикселей.

Короче говоря, мне кажется, что мне нужно одно из следующего: 1) NSImage, чтобы принять мои ректы в пикселях, а не какой-то другой блок.2) очень точное преобразование из пикселя в единицы NSImage, так что обращение к пикселю не приведет к размытости из-за эффектов сглаживания.

1 Ответ

1 голос
/ 10 марта 2012

В NSImage нет ничего принципиально неправильного, что сделало бы это невозможным.Если вы дадите ему соответствующие исходные и конечные правила, он, безусловно, сможет рисовать с точностью до пикселя.Вам нужно будет опубликовать свой код, чтобы мы помогли вам в этом.

Однако вам может быть проще иметь дело с API более низкого уровня.NSImage предназначен для работы со всем, что выглядит как изображение - растровые изображения, PDF-файлы и т. Д. Эта общность и ее возраст иногда приводят к некоторому запутанному поведению.Я обнаружил, что использование CGImage (которое всегда является растровым изображением) может быть намного более предсказуемым.Или попробуйте NSBitmapImageRep.

...