Все зависит от ситуации.
Если вы вручную создали кадровый буфер (в основном используя байтовый массив или что-то похожее), вам придется перебирать все пиксели, которые вы хотите изменить. Так, например, начиная с самого левого края строки:
- Найти начало фигуры в ряду
- Прыгните на один вправо и включите пиксель, пока не найдете второй конец фигуры в строке (или конце строки)
- Продолжить в следующем ряду
Это, конечно, будет работать только при наличии всех краевых пикселей. Взгляните на Марширующие квадраты , вам может помочь.
И, пожалуйста, будьте более конкретны. «Самый эффективный способ заливки фигуры» зависит от вашей базовой библиотеки рендеринга, от растровой графики и т. Д. *
EDIT
Обратите внимание, что алгоритм намного быстрее, если вы можете генерировать краевые пиксели, тогда нет необходимости искать начало края.