2012-05-29 4 views
1

Я рисую шаблон, умноженный на верхний цвет, но я также хотел бы настроить непрозрачность изображения шаблона, что было бы лучшим способом сделать это?drawAsPatternInRect с непрозрачностью

Это то, что мой шаблон рисования код выглядит следующим образом:

CGContextRef context = UIGraphicsGetCurrentContext(); 
    CGContextSaveGState(context); 
    CGContextSetBlendMode(context, kCGBlendModeMultiply); 
    [[UIImage imageNamed:@"background"] drawAsPatternInRect:self.bounds]; 
    CGContextRestoreGState(context); 
+1

Вы уже что-то пробовали? Как использовать CGContextSetAlpha() внутри GState? Другим способом было бы управлять изображением, чтобы иметь необходимую альфу, но я думаю, что это требует больших усилий, если только оно не будет повторно использовано, и в этом случае он может (может быть?) Иметь положительный эффект (при условии сохранения изображения) –

+0

Я не пробовал это, но ни CGContextSetAlpha, ни 'CGContextSetFillPattern', похоже, не работают. – keegan3d

+0

Ничего, 'CGContextSetAlpha' действительно работал. Благодаря! – keegan3d

ответ

0

Просто скопировать над моим комментарием, чтобы сделать его очистить вопрос ответ.

Вы можете установить альфа для контекста с помощью CGContextSetAlpha(), другим вариантом будет настройка альфа исходного изображения, но если изображение является или может быть динамическим, то это, вероятно, потребует больше усилий (в основном возвращается к прежнему использованию CGContextSetAlpha(), но в другом контексте)

Смежные вопросы