Задаёшь шейпами области заполнения, потом каждой области задаёшь контур направления (как у диффузного градиента), потом контрольными точками (опять как у градиента) размер кружков и профиль пропорции. Цвет каждого кружка берётся с растровой подложки (можно ещё добавить дополнительные локальные и глобальные контролы для искажения цвета).