Moneo писал(а):Что вы имеете ввиду под пустыми областями..чуть подробнее можно?
Например лицо вырезано одной сложной фигурой. Соответственно имеем одну фигуру и пять "дырок", для: двух глаз, рта и двух ноздрей. Если такую фигуру закрасить в канвасе по внешнему контуру, то получится фигура без глаз. Соответственно, дырки на ней рисуются последними и цветом фона. Дырки, как-то обозначаются в файле (как именно не знаю).
Moneo писал(а):Почему умножать, а не делить?
Если нужно в десять раз уменшить то можно разделить на 10, а можно умножить на 0.1 результат одинаковый. Матрицы как правило перемножают.
Да ещё там нужно, всю фигуру сместить в нулевую координату, т.к. в модели сохраняются и отрицательные числа, которые вам ненужны. Для этого находите самое отрицатеьное по Х и самое отрицательное по У. И потом прибавляете модули этих чисел к каждой координате (чтобы рисунок был от ноля до 32 пикселей, а не от -16 до +16). Смещать нужно перед, вычислением масштабирования. Весь рендер можно уложить в два цикла.
Moneo писал(а):Вообще этот path в svg это конечно жесткая тема, вот как здесь можно разобраться:
<path d="M-177.5,335.9h102.1c0,11.5,0,23.1,0,34.5c-22.6,0.1-45.1-0.1-67.7,0.1c0.1,11-0.2,22,0.1,33c13.4,0.1,26.8,0,40.1,0
c9.2,8.9,18.4,18.1,27.4,27.1c0.2,15.9,0.1,31.8,0,47.8c-9,9.2-18.2,18.1-27.2,27.3h-47.7c-9-9.1-18.2-18.2-27.2-27.3
c0-8-0.1-16.1,0-24.1c11.5,0,22.9,0,34.4,0c0,5.6,0,11.2,0,16.8c11.1,0.1,22.2,0.1,33.3,0c0-11,0.1-22,0-33
c-13.4-0.1-26.8,0-40.2,0c-9.3-8.9-18.1-18.2-27.3-27.2C-177.6,386-177.5,361-177.5,335.9z"/>
Тема с SVG будет становится все актуальнее, щас уже много сайтов переходит на этот формат и это только начало (хотя формату уже много лет, но стал популяризироваться он только сейчас почему-то). Думаю будет для всех полезным если у кого-то получится сделать нормальный рисовальщик, я собираюсь курить спецификацию на предмет того чтобы разобраться со всеми этими обозначениями path, пока на вскидку я вообще не понимаю как он составлен. Где тут X, а где Y.. по идеи координаты должны идти парно, а тут постоянно буквы идут.
Вот эти буквы, скорее всего обозначают внешние и внутренние фигуры для рисования. С другой стороны, это может быть какая-то аппроксимация, тогда чуть посложнее, но все описания наверняка есть в модуле: fpvectorialpkg, fpvectorial,fpvtocanvas.
Проще всего найдите описание svg, опенсорсное же всё.
Вот да, этого более чем достаточно, там указан точный порядок действий. А буквы обозначают какие именно команды нужно задействовать из канваса при рисовании. На час работы (ну или на день).