Вот еще пример, кстати:

Ломается снова на четвертом шаге, оно начинает с точки, окруженной пикселями (почему-то не срабатывает проверка на это!) и, очевидно, ломается.
Выводит "M 54 42 L 54 43 L 53 43 L 53 44 L 52 44 L 52 45 L 51 45 L 51 46 L 50 46 L 50 47 L 49 47 L 49 48 L 49 49 L 48 49 L 48 50 L 48 51 L 47 51 L 47 52 L 47 53 L 46 53 L 46 54 L 46 55 L 45 55 L 45 56 L 45 57 L 44 57 L 44 58 L 44 59 L 44 60 L 43 60 L 43 61 L 43 62 L 42 62 L 42 63 L 42 64 L 41 64 L 41 65 L 40 65 L 40 66 L 39 66 L 39 67 L 38 67 L 38 68 L 37 68 L 37 69 L 36 69 L 36 70 L 35 70 L 34 70 L 34 71 L 33 71 L 33 72 L 32 72 L 31 72 L 30 72 L 29 72 L 29 73 L 28 73 L 27 73 L 27 72 L 26 72 L 25 72 L 24 72 L 24 71 L 23 71 L 22 71 L 21 71 L 20 71 L 19 71 L 19 72 L 18 72 L 18 73 L 18 74 L 18 75 L 18 76 L 19 76 L 19 77 L 20 77 L 20 78 L 21 78 L 21 79 L 22 79 L 22 80 L 23 80 L 24 80 L 25 80 L 26 80 L 27 80 L 28 80 L 29 80 L 30 80 L 31 80 L 32 80 L 32 79 L 33 79 L 34 79 L 34 78 L 35 78 L 36 78 L 36 77 L 37 77 L 37 76 L 38 76 L 39 76 L 39 75 L 40 75 L 40 74 L 41 74 L 41 73 L 42 73 L 42 72 L 43 72 L 43 71 L 44 71 L 44 70 L 45 70 L 45 69 L 46 69 L 46 68 L 47 68 L 47 67 L 48 67 L 48 66 L 48 65 L 49 65 L 49 64 L 50 64 L 51 64 L 51 63 L 51 62 L 51 61 L 51 60 L 51 59 L 51 58 L 51 57 L 52 57 L 52 56 L 52 55 L 52 54 L 52 53 L 52 52 L 52 51 L 53 51 L 53 50 L 53 49 L 53 48 L 53 47 L 54 47 L 54 46 L 54 45 L 54 44 L 55 44 L 55 43 L 56 43 L 56 42 L 55 42 z M 53 46 L 53 47 L 52 47 L 52 46 z M 45 67 L 45 68 L 45 69 L 44 69 L 44 70 L 43 70 L 43 71 L 42 71 L 42 72 L 41 72 L 41 73 L 40 73 L 40 74 L 39 74 L 38 74 L 38 75 L 37 75 L 36 75 L 36 76 L 35 76 L 35 77 L 34 77 L 33 77 L 33 78 L 32 78 L 31 78 L 31 79 L 30 79 L 29 79 L 28 79 L 27 79 L 26 79 L 25 79 L 24 79 L 23 79 L 23 78 L 22 78 L 22 77 L 21 77 L 21 76 L 20 76 L 20 75 L 19 75 L 19 74 L 19 73 L 19 72 L 20 72 L 21 72 L 22 72 L 23 72 L 23 73 L 24 73 L 25 73 L 26 73 L 26 74 L 27 74 L 28 74 L 29 74 L 30 74 L 30 73 L 31 73 L 32 73 L 33 73 L 33 72 L 34 72 L 35 72 L 35 71 L 36 71 L 36 70 L 37 70 L 37 69 L 38 69 L 38 68 L 39 68 L 39 67 L 40 67 L 40 66 L 41 66 L 41 65 L 42 65 L 42 64 L 43 64 L 43 63 L 44 63 L 44 62 L 44 61 L 44 60 L 45 60 L 45 59 L 45 58 L 46 58 L 46 57 L 46 56 L 47 56 L 47 55 L 47 54 L 48 54 L 48 53 L 48 52 L 49 52 L 49 51 L 49 50 L 50 50 L 50 49 L 50 48 L 51 48 L 51 47 L 52 47 L 52 48 L 52 49 L 52 50 L 52 51 L 51 51 L 51 52 L 51 53 L 51 54 L 51 55 L 51 56 L 50 56 L 50 57 L 50 58 L 50 59 L 50 60 L 50 61 L 50 62 L 50 63 L 49 63 L 49 62 L 49 61 L 48 61 L 48 62 L 48 63 L 48 64 L 47 64 L 47 65 L 47 66 L 46 66 L 46 67 z".
В итоге должно получиться что-то типа
https://jsfiddle.net/qnupfm2t/ (не точно, можете это рассматривать как то, что именно должен закрашивать фигуру SVG).
-- 08 май 2020, 22:44 --оно начинает с точки, окруженной пикселями (почему-то не срабатывает проверка на это!) и, очевидно, ломается.
Нет, все же не окруженной. Меня спутало из-за
И оно немного неверные границы выдает:
kotenok gav в сообщении #1458931
писал(а):
Хотя, все же, первая граница не совсем правильна... К примеру, там есть пиксель (127, 25) (UPD), которого, на самом деле, нет.
Т.е. в лесенке оно добавляет пиксели.
.