Перевести цвета в изображение? - PullRequest
0 голосов
/ 06 июля 2011

Я не уверен, как еще я должен подходить к этому, но если бы у меня (в моем приложении Mac) была сетка NSView, которую пользователь может изменить цвет каждого, можно ли тогда перевести это, так что теперь Пользователь получил цвет для каждого пикселя, превратить его в экспортируемое изображение?

Я, честно говоря, не могу придумать, как еще это сделать. Я не хочу идти вперед, понимая, что я выбрал довольно глупый путь.

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

Любая помощь высоко ценится, спасибо.

1 Ответ

3 голосов
/ 06 июля 2011

Сетка NSViews звучит очень тяжело для того, что вы делаете. Почему бы не написать один отдельный пользовательский вид, который проверяет положение мыши и соответствующим образом изменяет данные? Затем вы должны написать собственный метод рисования, чтобы заполнить пользовательский вид, и вы можете использовать тот же точный метод рисования для записи в NSImage, который вы можете экспортировать.

Тебе нужно немного по математике. Для каждого «пикселя» вызовите -set для соответствующего NSColor, а затем используйте метод NSBezierPath -fillRect. Это может помочь вам достать карандаш и бумагу, чтобы выяснить математику для прямоугольных источников и размеров.

Проверьте http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CocoaDrawingGuide/Introduction/Introduction.html на помощь, если вы никогда не делали пользовательский рисунок раньше Это действительно не так уж и плохо, просто нужно немного почитать. :)

...