zoukankan      html  css  js  c++  java
  • SVG的Transform使用

    SVG的Transform使用:

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <%
        String path = request.getContextPath();
        String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
    %>
    <!DOCTYPE html>
    <html>
    <head>
    <base href="<%=basePath%>">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Title</title>
    </head>
    <body>
    <svg width="240px" height="240px" xmlns="http://www.w3.org/2000/svg">
        <g id="square">
            <rect x="0" y="0" width="20" height="20" style="fill:none;stroke:black;stroke-2" />
        </g>
        <use xlink:href="#square" transform="translate(50,50)" />
        <use xlink:href="#square" transform="scale(2)" />
        <use xlink:href="#square" transform="scale(3,1.5)" />
    </svg>
    <svg width="240px" height="240px" xmlns="http://www.w3.org/2000/svg">
        <!-- 可以使用g进行统一变换 -->
        <g id="g1" transform="translate(3,5)" style="fill:none;stroke:black;" >
            <line x1="10" y1="10" x2="30" y2="30" />
            <circle cx="20" cy="20" r="10" />
        </g>
        <rect x="15" y="20" width="10" height="5" transform="scale(3)" style="fill:none;stroke:black;" />
    </svg>
    <div>
    <svg width="240px" height="240px" xmlns="http://www.w3.org/2000/svg">
        <rect x="10" y="10" height="15" width="20" transform="translate(30,20) scale(2)" style="fill:gray" />
    </svg>
    <!-- 把变换放到g中,是一样的格式 -->
    <svg width="240px" height="240px" xmlns="http://www.w3.org/2000/svg">
        <g transform="translate(30,20)">
            <g transform="scale(2)">
                <rect x="10" y="10" height="15" width="20" style="fill:gray"></rect>
            </g>
        </g>
    </svg>
    </div>
    <div>
    <svg width="240px" height="240px" xmlns="http://www.w3.org/2000/svg">
        <!-- 变换顺序不同会影响最后的变换结果 -->
        <rect x="10" y="10" width="20" height="15" transform="translate(30,20) scale(2)" style="fill:gray"></rect>
        <rect x="10" y="10" width="20" height="15" transform="scale(2) translate(30,20)" style="fill:black"></rect>
    </svg>
    </div>
    <div>
    <svg width="240px" height="240px" xmlns="http://www.w3.org/2000/svg">
        <circle cx="50" cy="50" r="3" style="fill:black"></circle>
        <g id="arrow" style="stroke:black">
            <line x1="60" y1="50" x2="90" y2="50"></line>
            <polygon points="90 50,85 45,85 55"></polygon>
        </g>
        <!-- rotate(angle, centerX, centerY)可以指定中心点旋转 -->
        <use xlink:href="#arrow" transform='rotate(60,50,50)'/>
        <use xlink:href="#arrow" transform='rotate(-90,50,50)'/>
        <use xlink:href="#arrow" transform='rotate(-150,50,50)'/>
        <polyline points="20 20,30 20,30 30" style="stroke:black;fill:none"></polyline>
        <rect x=70 y=70 width=20 height=20 fill="grey" />
        <rect x=70 y=70 width=20 height=20 fill="black" transform="rotate(45)" />
    </svg>
    </div>
    <div>
    <svg width="240px" height="240px" xmlns="http://www.w3.org/2000/svg" >
        <circle cx=50 cy=50 r=2 fill="black" />
        <g id="box" style="stroke:black;fill:none">
            <rect x=35 y=40 width=30 height=20></rect>
        </g>
        <!-- 围绕中心点缩放  translate(-cx(fac-1),-cy(fac-1)) scale(fac) style=stroke-1/fac -->
        <use xlink:href="#box" transform="translate(-50,-50) scale(2)" style="stroke-0.5"/>
        <use xlink:href="#box" transform="translate(-75,-75) scale(2.5)" style="stroke-0.4"/>
        <use xlink:href="#box" transform="translate(-100,-100) scale(3)" style="stroke-0.33"/>
    </svg>
    </div>
    <div>
    <svg width="240px" height="240px" xmlns="http://www.w3.org/2000/svg">
        <!-- 以0,0 为中心进行绘制,然后再进行整体移动  -->
        <g transform="translate(50,50)" >
            <circle cx=0 cy=0 r=2 fill="black" />
            <rect id="box1" x=-15 y=-10 width=30 height=20 style="stroke:black;fill:none" />
            <use xlink:href="#box1" transform="scale(2)" style="stroke-0.5" />
            <use xlink:href="#box1" transform="scale(2.5)" style="stroke-0.4" />
            <use xlink:href="#box1" transform="scale(3)" style="stroke-0.33" />
        </g>
    </svg>
    </div>
    </body>
    </html>
  • 相关阅读:
    Homebrew简介及安装
    MongoDB MapReduce学习笔记
    mongodb_修改器($inc/$set/$unset/$push/$pop/upsert......)
    【资源共享】《Rockchip 量产烧录 指南 V1.0》
    【资源共享】《DDR常见问题简单排查》
    【技术案例】Firefly-RK3399多路视频编解码
    【资源共享】《Rockchip 以太网 开发指南 V2.3.1》
    【资源共享】Rockchip Audio 开发指南
    关于在RK3288上安装Opencv的方法
    debian stretch + kernel 4.4 固件发布(支持硬件加速),可安装kodi
  • 原文地址:https://www.cnblogs.com/stono/p/5098831.html
Copyright © 2011-2022 走看看