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