DVD-заставка

Демонстрация обработки и отрисовки изображения в SVG-файле

Чтобы получить иконку DVD, нужно было:

  • Отпарсить svg файл, в котором хранится векторное изображение логотипа DVD. В частности, из svg файла (это xml файл) для отрисовки нужен тэг <path> , а именно его аттрибут 'd', в котором закодирована последовательность пермещений и кривых, которые дадут внешний контур фигуры для последующей заливки. За парсинг в предоставленной реализации отвечает class SVGPathParser
  • Далее после парсинга, последовательность команд отрисовки внейшней границы нужно конвертировать в последовательность функций, которые доступны канвасу. Ответственный за этот этап - class PathToCtxHandle
  • после конвертаций, для фигуры сохраняется последовательность действий, которые надо сделать, чтобы нарисовать границу, чтобы потом запустить заливку. Все вызовы функции для построения линейных и нелинейных границ, были абстрагированы классом: class Renderer
Исходники: