Как установить RGBA-цвет пикселя UIImage - PullRequest
2 голосов
/ 25 сентября 2011

Я ищу возможность установить (изменить) цвет 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

}

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

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

1 Ответ

2 голосов
/ 26 сентября 2011

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

Копировать

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

Редактировать

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

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

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

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

...