Прием: масштабирование вокруг точки

Прием: масштабирование вокруг точки ...

Дата публикации: 18.01.2011

Так же как возможно вращение вокруг произвольной точки, возможно и масштабирование. Для наглядности можно нарисовать центр масштабирования. А чтобы выполнить масштабирование относительно этого центра, следует придерживаться следующей формулы:

translate(-centerX*(factor-1), -centerY*(factor-1)) scale(factor)

Так же можно применить коэффициент масштабирования к stroke-width чтобы толщина контура не менялась с увеличением объекта. Для примера сделаем увеличение прямоугольника вокруг точки.

<!-- центр масштабирования -->
<circle cx="50" cy="50" r="2" style="fill: black;" />
<!-- первоначальный прямоугольник -->
<g id="box" style="stroke: black; fill: none;">
<rect x="35" y="40" width="30" height="20" />
</g>

<use xlink:href="#box" transform="translate(-50,-50) scale(2)" style="stroke-width: 0.5;" />
<use xlink:href="#box" transform="translate(-75,-75) scale(2.5)" style="stroke-width: 0.4;" />
<use xlink:href="#box" transform="translate(-100,-100) scale(3)" style="stroke-width: 0.33;" />

Результат в живую или смотрим на картинке:

маcштабирование вокруг точки

Куда дальше

Показать комментарии

Смотрите также в этом разделе

Смежные материалы, которые могут быть вам полезны

  • Paths. Moveto, lineto, и closepath
  • Вложенные системы координат. Сущность SVG. J. David Eisenberg
  • Группирование и привязка SVG объектов
  • Координаты. Сущность SVG. J. David Eisenberg
  • Масштабируемость. Сущность SVG. J. David Eisenberg
  • Начнем. Сущность SVG. J. David Eisenberg
  • О книге и переводе
  • Основные фигуры. Круги и эллипсы. Сущность SVG. J. David Eisenberg
  • Основные фигуры. Линии. Сущность SVG. J. David Eisenberg
  • Основные фигуры. Ломанная линия. Сущность SVG. J. David Eisenberg
  • Основные фигуры. Многоугольник. Сущность SVG. J. David Eisenberg
  • Основные фигуры. Прямоугольники. Сущность SVG. J. David Eisenberg
  • Последовательность трансформаций в SVG
  • Прием: конвертация из декартовой системы координат
  • Содержание. Сущность SVG. J. David Eisenberg
  • Создание SVG графики. Сущность SVG. J. David Eisenberg
  • Сокращение путей. Сущность SVG. J. David Eisenberg
  • Сохранение пропорций. Сущность SVG. J. David Eisenberg
  • Структура SVG документа и представление
  • Сущность SVG. J. David Eisenberg
  • Трансформации skewX и skewY
  • Трансформация в SVG: масштабирование
  • Трансформация в SVG: перемещение
  • Трансформация в SVG: поворот