当前位置: 首页 > news >正文

SVG使用记录

    <g>标签用于将多个形状组成一个组(group),方便复用。
    <defs>标签用于自定义形状,它内部的代码不会显示,仅供引用。
    
    
    
    view0=SVG.select('.svg-pan-zoom_viewport').get(0);
    view0.circle(0.2,0.2).center(43.4821315267019,79.8926890514464).stroke({color:"#FF0000"});
    view0.circle(0.2,0.2).center(44.4821315267019,80.8926890514464);
        
        
    svgElement = document.querySelector('svg');
    svgPoint = svgElement.createSVGPoint();
    svgImg(cursorPoint(p1));
    function cursorPoint(p1) {
        debugger;
        svgPoint.x = p1.x;
        svgPoint.y = p1.y;
        return svgPoint.matrixTransform(svgElement.getScreenCTM().inverse());
    }

    function svgImg(svgCoords){
        var tsvg_obj = document.getElementById("limit-svg");
        var xmlns = "http://www.w3.org/2000/svg";
        var svgImg = document.createElementNS(xmlns,"image");
        svgImg.setAttributeNS(null,"x",svgCoords.x);
        svgImg.setAttributeNS(null,"y",svgCoords.y);
        svgImg.setAttributeNS(null,"width",'20px');
        svgImg.setAttributeNS(null,"height",'30px');
        svgImg.setAttribute("style","fill:rgb(0,0,255);stroke-width:1;stroke:rgb(0,0,0)");
        svgImg.href.baseVal = "${pageContext.request.contextPath}/resources/plugins/svg/img/man1.png";
        tsvg_obj.appendChild(svgImg);
    }
    
    $(document).ready(function(){
        var panZoomTiger = svgPanZoom('#limit-svg', {
            zoomEnabled: true,
            controlIconsEnabled: false,
            fit: false,
            center: true
        });
        
        svgdoc=SVG("limit-svg");
        view0=SVG.select('.svg-pan-zoom_viewport').get(0);
        view0.circle(0.2,0.2).center(43.4821315267019,79.8926890514464).stroke({color:"#FF0000"});
        var ele=$('#g4604');
        console.log(ele);
        ele.width(100);
        ele.css("fill","#ff0000");
        
        
        svgdoc.on("mousemove",function (e) {
            if (view){
                var p1 = view.point(e.clientX, e.clientY);
                console.log("当前座标:X="+p1.x + ",Y=" + p1.y);
            }
        });

    });
    
    SVG 不居中
    
    
    
    var svgman=SVG.get('svgman');
//            var m1 =svgman.clone();
//            m1.fill({color:"#ff0000"}).width(1).height(2).center(44.4821315267019,80.8926890514464);
//            view0.use(m1);
//
//            var m2 =svgman.clone();
//            m2.fill({color:"#00ff00"}).width(1).height(2).center(20,10);
//            view0.use(m2);
//
//            var m3 =svgman.clone();
//            m3.fill({color:"#0000ff"}).width(1).height(2).center(30,10);
//            view0.use(m3);
//
//
//            var kzz=SVG.get('svgkzz');
//
//            var kzz1 =kzz.clone();
//            kzz1.fill({color:"#ff0000"}).width(4).height(4).center(44.4821315267019,80.8926890514464);
//            view0.use(kzz1);

*
    新的svg需要添加style
    id修改
    
    
    view.path("M0,0 L0,10 L13,5 z").fill({color:"#584B92"}).attr('transform', 'rotate(-12 '+jhjdX+' '+ jhjdY+')').center(jhjdX-5, jhjdY);
    
    view.path("M0,0 L0,10 L13,5 z").rotate(-12, jhjdX, jhjdY).fill({color:"#584B92"}).center(jhjdX-5, jhjdY);
    
    view.text("Δ"+ygaqJl+"m").fill({color: "#F80000"}).style({"font-size": "14px"}).dx(textYgX).dy(baseY-55);
    
    view.line([[baseX, sjjdY], [sjjdX, sjjdY]]).fill('none').stroke({ width: 1.5, color: "#9b9b9b" });
    
    view.polyline([[baseX, baseY], [baseX, yZb]]).fill('none').stroke({ width: 1.5, color: "#9b9b9b" });
    
    view.rect(sdjdKwWidth, 24).move(zzmX, baseY-73).fill({color: "lightblue"}).stroke({ width:0.05});
    
    view.path("M0,0 L0,10 L13,5 z").fill({color:"#d44c42"}).center(sjjdX+5, sjjdY);
    
    
    var kzz=SVG.get('svgkzz');
    var man = view0.use(kzz.clone().fill({color:"#ff0000"}).width(4).height(4).center(item.kzdX+1, item.kzdY+1));
    man.click(function(e){svgmanclick(this.data('empDwkh').emp_dwkh);});
    
    
// view.text(item.zhwb).dx(zhX).dy(baseY).style({"font-size": "12px"}).attr('transform', 'rotate(90,10,20)');

// view.text(item.zhwb).dx(zhX-20).dy(baseY).style({"font-size": "12px"}).attr('startOffset', '50%').font({"writing-mode": " tb-rl"});//writing-mode文字垂直显示
    
    
    
    
    
    
    
    
    

相关文章:

  • 新增用户信息应该考虑什么?
  • 工具类
  • 刷题之Leetcode54题(超级详细)
  • sql注入方式之联合注入
  • 如何利用Anaconda管理ArcGISPro相关环境
  • 代码随想录算法训练营DAY15|C++二叉树Part.2|102.二叉树的层序遍历、226.翻转二叉树、101. 对称二叉树
  • Prompt提示工程上手指南:基础原理及实践(五)-思维树 (ToT)策略下的Prompt
  • 计算机网络-运输层
  • 数学建模-最优包衣厚度终点判别法(主成分分析)
  • c#:简洁实现if-else语句
  • 背包问题四种类型
  • 如何在CentOS安装Nexus容器无公网IP远程管理本地仓库
  • ios swift5 “Sign in with Apple“(使用苹果登录)怎样接入(第三方登录)集成AppleID登录
  • 联网电脑上安装好的Python库转移到离线设备上
  • MFC通用静态库制作与使用
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • es6
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • java中的hashCode
  • Magento 1.x 中文订单打印乱码
  • react-native 安卓真机环境搭建
  • Spark学习笔记之相关记录
  • SpiderData 2019年2月23日 DApp数据排行榜
  • ViewService——一种保证客户端与服务端同步的方法
  • webpack项目中使用grunt监听文件变动自动打包编译
  • windows-nginx-https-本地配置
  • 程序员该如何有效的找工作?
  • 好的网址,关于.net 4.0 ,vs 2010
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 前端自动化解决方案
  • 跳前端坑前,先看看这个!!
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • !!Dom4j 学习笔记
  • # 详解 JS 中的事件循环、宏/微任务、Primise对象、定时器函数,以及其在工作中的应用和注意事项
  • #14vue3生成表单并跳转到外部地址的方式
  • #define 用法
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • (6)添加vue-cookie
  • (el-Transfer)操作(不使用 ts):Element-plus 中 Select 组件动态设置 options 值需求的解决过程
  • (十六)Flask之蓝图
  • (一)基于IDEA的JAVA基础1
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • (转)使用VMware vSphere标准交换机设置网络连接
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .NET delegate 委托 、 Event 事件,接口回调
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .Net 高效开发之不可错过的实用工具
  • .NET 中 GetProcess 相关方法的性能
  • .Net接口调试与案例
  • .NET框架
  • .NET设计模式(11):组合模式(Composite Pattern)
  • .NET文档生成工具ADB使用图文教程
  • @reference注解_Dubbo配置参考手册之dubbo:reference
  • @RequestBody与@ModelAttribute