• SVG实战开发学习(四)——坐标系统与坐标轴转换


    svg的渲染都是在一个矩形区域内发生的,这个有限的矩形区域在svg中被称为"视口",超出这个视口的图形将不被显示,所以视口也就是svg的渲染区域,用户能看到svg内容的区域。svg的视口尺寸由<svg>标签的width和height两个属性来决定的,也就是整个图像在浏览器中显示的大小,使得视口的坐标系统同用户坐标系统相同。如果有若干个<svg>元素嵌套在一起,那么决定初始化视口的是最外层的那个<svg>元素。

    【transition属性】

    平移变换可以改变坐标系的原点位置,而新坐标系的坐标轴方向不变。语法如下:transform="translate(x,y)"

    【旋转变换】

    语法:transform="rotate(angle cx,cy)"

    "angle"是旋转的角度,默认单位是度,正值为顺时针旋转,负值为逆时针旋转;(cx,cy)是旋转中心坐标,如果该坐标省略,则默认为原点坐标(0,0)

    如果即要使用旋转,又要使用平移变换,要怎么做呢?其实也很简单,使用下面的形式就可以做到了:

    <g transform=" rotate(30); translate(50,50) ">

    【伸缩变换】

    语法:transform="scale(sx,sy)",sx和sy分别表示X轴方向和Y轴方向拉伸或缩小的比例系数。比例系数大于1是拉伸,小于1是缩小。

    你可以写成<g transform="scale(2,0.5)">,x轴方向拉伸2倍,Y轴方向缩小为原来的一半;<g transform="scale(2,2)">与<g transform="scale(2)">效果是相同的,因为缺少sy这个参数,SVG将会把Y轴上的拉伸系数等于X轴上的拉伸系数。

    【歪斜变换】

    语法:transform="skewX(Xangle)"或者transform="skewY(Yangle)",Xangle是沿X轴歪斜的角度,Yangle是沿Y轴歪斜的角度,均为实数。

  • 相关阅读:
    如何在调试PHP代码时不显示错误信息
    如何实现网页组件的随意拖拽
    如何做一个简易的HTML代码编辑器
    如何在网页中动态显示时间
    Luogu2577 | [ZJOI2005]午餐 (贪心+DP)
    Luogu2345 | 奶牛集会 (树状数组)
    解决NahimicSvc32.exe与bilibili直播姬的音频不兼容的问题
    STL函数 lower_bound 和 upper_bound 在算法竞赛中的用法
    电子取证 | 第三届美亚杯(2017)个人赛题解
    快速安装字体.bat批处理脚本
  • 原文地址:https://www.cnblogs.com/cacti/p/4686349.html
Copyright © 2020-2023  润新知