Как установить цвет RGBA пикселя UIImage

Я ищу возможность установить (изменить) цвет RGBA пикселя UIImage для моего приложения Iphone. (На самом деле я хочу реализовать кое-что с заливкой)

Итак, мне нужно что-то вроде этого:

-(void) setPixelColorOfImage: (UIImage*) img atXCord: (int) x atYCord: (int) y
withRedColor: (CGFloat) red blueColor: (CGFloat) blue greenColor: (CGFloat) green
alpha: (CGFloat) alpha  {

// need some code her

}

Поскольку этот метод будет вызываться довольно часто, он не должен быть слишком медленным.

Пожалуйста помоги.


person Kito    schedule 25.09.2011    source источник


Ответы (1)


UIImage не является (внешне) изменяемым, поэтому вы должны скопировать, затем отредактировать, а затем преобразовать в UIImage.

Копировать

  • создать CGBitmapContext
  • нарисуйте исходное изображение на нем

Изменить

  • получить доступ к пиксельному буферу контекста
  • изменить этот пиксельный буфер

Преобразовать в UIImage

  • скопировать представление CGImage контекста
  • создать новый UIImage из CGImage

между прочим, форму также можно использовать на osx (используя NSImage).

person justin    schedule 26.09.2011