В основном вам нужно перебирать пиксели, чтобы вычислить средний цвет, скажем, для каждого блока пикселей 4x4. Получив этот средний цвет, вы округляете его до ближайшего цвета, который вы можете использовать в мозаике. Я не знаю специфики этого, но этот пример кода делает именно то, что вы хотите.