Смешивание трех изображений в графическом контексте с использованием режима альфа-смешивания - PullRequest
0 голосов
/ 22 декабря 2009

Не работает ли kCGBlendModeOverlay точно так же, как в режиме наложения Photoshop Overlay? Я пытаюсь наложить три изображения в графический контекст с помощью:

[uiimageGreen drawAtPoint:CGPointMake(x, y) blendMode:kCGBlendModeOverlay alpha:1.0];
[uiimageRed drawAtPoint:CGPointMake(x, y) blendMode:kCGBlendModeOverlay alpha:1.0];
[uiimageBlue drawAtPoint:CGPointMake(x, y) blendMode:kCGBlendModeOverlay alpha:1.0];

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

Получаете ли вы тот же результат, если пытаетесь?

1 Ответ

0 голосов
/ 22 декабря 2009

Ну, у меня здесь не было доступа к Photoshop, поэтому я не мог перепроверить, но оказалось, что я хотел kCGBlendModeScreen ... и это работает как нужно. Это моя испорченная память, которая, по-видимому, не работает должным образом.

Все снова хорошо. :)

...