если не нужно запоминать исходные цвета, то сначала усреднить, а затем выполнять булевы операции...
может быть это извращение, но я бы, для усреднения написал скриптоц, ну правда на столько правильный, на сколько я понимаю понятие усреднить...
вот жабаскрипт для ЦС (без дуракоустойчивости, работает со сплошными заливками в цмике)
-----------------------
sel = activeDocument.selection;
N = sel.length;
C = 0;
M = 0;
Y = 0;
K = 0;
for(i=0;i<N;i++) {
C += sel.fillColor.cyan;
M += sel.fillColor.magenta;
Y += sel.fillColor.yellow;
K += sel.fillColor.black;
}
C /= N;
M /= N;
Y /= N;
K /= N;
for(i=0;i<N;i++) {
sel.fillColor.cyan = C;
sel.fillColor.magenta = M;
sel.fillColor.yellow = Y;
sel.fillColor.black = K;
}
-----------------------
в принципе, к десятке прикрутить не сложно