Простой для реализации алгоритм будет рисовать прямоугольники 1xN.
Начните со строки 0 и найдите первый непустой пиксель. Продолжайте перебирать пиксели, пока цвет пикселов, на которые вы смотрите, не изменится. Теперь нарисуйте эту серию пикселей того же цвета, что и прямоугольник размером 1xN.
Если ваши реальные изображения имеют большие однородные области, это может быть "достаточно хорошо". В зависимости от того, как выглядят картинки, рисование вертикальных линий может быть лучше.
Если я делаю математику правильно, используя этот метод, круг радиусом 100 пикселей будет использовать 200 «линий» для рисования, а не 30000 пикселей, если сделать один пиксель за раз. Мне кажется, что при разложении четырехугольного дерева для такого круга использовалось бы не менее 1000 или более прямоугольников, если вам повезло с тем, куда упали квадранты.