Цвет маскировки Iphone: Удалить цвет фона - PullRequest
3 голосов
/ 15 августа 2010

У меня есть серия аватаров; каждый имеет ярко-розовый фон RGB: 255,0255.

Вместо того, чтобы проходить через все аватары и вручную удалять розовый фон; Есть ли способ заставить Objective C удалить фон (маскируя его) для меня?

Ниже приведен пример аватара:

альтернативный текст http://img39.imageshack.us/img39/2645/bluegem.png

Одна вещь, которая меня беспокоит, заключается в том, что маскирование выполняется на лету и может стоить памяти; это то, что меня должно беспокоить?

Кроме того, допустим, я поместил аватары в таблицу спрайтов; можно ли применить маску один раз и работать с этим?

Спасибо за вашу помощь.

Ответы [ 2 ]

3 голосов
/ 15 августа 2010

см. Функцию CGImageCreateWithMaskingColors. Я думаю, что это то, что вам нужно. Смотрите ссылку: Маскировка изображения цветом

0 голосов
/ 15 августа 2010

Если вы добавляете кнопки программно, вы можете установить глобальный NSArray и addObject:yourButton каждый раз, когда создаете кнопку аватара, тогда, когда вы хотите удалить фон, сделайте следующее:

for (UIButton *custom in globalButtonArray) {
    custom.backgroundColor = [UIColor clearColor];
}
...