【博主推荐】html界面绘制SVG图形(附源码)

99 篇文章 91 订阅
4 篇文章 2 订阅

【博主推荐】html界面绘制SVG图形(附源码)

功能介绍

  1.支持常用图形绘制,如直线,虚线,正方形,长方形,五角星等;
  2.支持常用属性配置,如长度,颜色,id,单击时间等;
  3.支持常用操作直接呈现;
  4.选中元素后,鼠标右键改变属性;
  5.选中元素后,鼠标左键一直按着拖动;
  6.选中元素后,上下左右按键可以移动元素;
  7.支持一键清除,一键保存;
  8.支持元素单击,调用js;
  支持相关功能扩展

效果视频

【博主推荐】html界面绘制SVG图形(附源码)

效果示意图

请添加图片描述

部分源码HTML

注意:引用的js和css相关,见下面源码地址

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1" />
    <title>xcLeigh - 绘制svg图</title>
    <link type="text/css" href="js/layui/css/layui.css" rel="stylesheet" />
    <script src="js/layui/layui.js"></script>
    <script src="js/jquery-1.10.2.js" type="text/javascript"></script>
    <script type="text/javascript" src="js/layer/layer.min.js"></script>
</head>
<body>
    <div>

<form id="form1" class="layui-form" action="">
    <div style="position:absolute;width:100%;height:100%;">
		<div style="background-color:orange;">
		<fieldset class="layui-elem-field" style="margin:0px;">
            <legend></legend>
            <div class="layui-field-box">
                <div>
                    <table style="width:100%;">
                        <tr>
                            <td style="color:black;">
							xcLeigh - 绘制svg图
                            </td>
							<td style="text-align:right;font-size:13px;color:white;">
								<a href="https://download.csdn.net/user/weixin_43151418/?spm=1003.2020.3001.5449">【博主推荐】相关资源</a> |
								<a href="https://download.csdn.net/download/weixin_43151418/85329413?spm=1003.2166.3001.6637.6">C#MVC后台管理系统(附源码)</a> |
								<a href="https://download.csdn.net/download/weixin_43151418/85337361?spm=1003.2166.3001.6637.1">html下拉框树形(附好看的登录界面)</a> |
								<a href="https://download.csdn.net/download/weixin_43151418/85335759">HTML5响应式手机微网站(附源码)</a> |
								<a href="https://download.csdn.net/download/weixin_43151418/85336631">html操作SVG图(附源码)</a>
							</td>
                        </tr>
                    </table>
                </div>
            </div>
        </fieldset>
		</div>
        <div id="oper1" onclick="clearYs();" style="width:100%;height:25px;padding-top:5px; background-color:white;border-bottom:1px solid #ccc; position:fixed;">
            &nbsp;&nbsp;标签:&nbsp;&nbsp;<a class="layui-btn layui-btn-xs layui-bg-blue" onclick="drawLine();">直线</a>
            <a class="layui-btn layui-btn-xs layui-bg-blue" onclick="drawXLine();">虚线</a>
            <a class="layui-btn layui-btn-xs layui-bg-blue" onclick="drawSquare();">正方形</a>
            <a class="layui-btn layui-btn-xs layui-bg-blue" onclick="drawCSquare();">长方形</a>
            <a class="layui-btn layui-btn-xs layui-bg-blue" onclick="drawCircle();">圆形</a>
            <a class="layui-btn layui-btn-xs layui-bg-blue" onclick="drawText();">文字</a>
            <a class="layui-btn layui-btn-xs layui-bg-blue" onclick="drawStar();">五角星</a>
            &nbsp;&nbsp;操作:
            <a class="layui-btn layui-btn-xs layui-bg-blue" onclick="settingSvg();">设置</a>
            <a class="layui-btn layui-btn-xs layui-bg-orange" onclick="resetSvg();">重置</a>
            <a class="layui-btn layui-btn-xs layui-bg-cyan" onclick="getSvgContent();">保存</a>
            <a class="layui-btn layui-btn-xs layui-bg-black" onclick="about();">关于</a>            
        </div>
        <div id="oper2" onclick="clearYs();" style="width:100%;height:25px;padding-top:5px; display:none; background-color:white;border-bottom:1px solid #ccc; position:fixed;">
            &nbsp;&nbsp;
            <span id="htmlId">ID:</span>
            <div id="htmlId1" class="layui-input-inline" style="width:100px;height:25px;">
                <input id="operId" name="operId" class="layui-input" style="padding:0px;margin:0px;height:25px;" type="text" placeholder="ID">
            </div>
            <span id="htmlXz">旋转:</span>
            <div id="htmlXz1" class="layui-input-inline" style="width:100px;height:25px;">
                <input id="operXz" name="operXz" class="layui-input" style="padding:0px;margin:0px;height:25px;" type="text" placeholder="度数">
            </div>
            <span id="htmlXz">填充色:</span>
            <div id="htmlXz1" class="layui-input-inline" style="width:100px;height:25px;">
                <input id="operFill" name="operFill" class="layui-input" style="padding:0px;margin:0px;height:25px;" type="text" placeholder="fill">
            </div>
            <span id="htmlZd">置顶:</span>
            <div id="htmlZd1" class="layui-input-inline" style="width:100px;height:25px;">
                <input id="operZd" name="operZd" title="1为置顶,其他为不变" class="layui-input" style="padding:0px;margin:0px;height:25px;" type="text" placeholder="置顶">
            </div>
            <span id="htmlStroke">边框色:</span>
            <div id="htmlStroke1" class="layui-input-inline" style="width:100px;height:25px;">
                <input id="operStroke" name="operStroke" class="layui-input" style="padding:0px;margin:0px;height:25px;" type="text" placeholder="stroke">
            </div>
            <span id="htmlSize">大小:</span>
            <div id="htmlSize1" class="layui-input-inline" style="width:100px;height:25px;">
                <input id="operSize" name="operSize" title="17px | 19px | 21px" class="layui-input" style="padding:0px;margin:0px;height:25px;" type="text" placeholder="大小" value="17px">
            </div>
            <span id="htmlText">文本值:</span>
            <div id="htmlText1" class="layui-input-inline" style="width:150px;height:25px;">
                <input id="operText" name="operText" title="文本内容" class="layui-input" style="padding:0px;margin:0px;height:25px;" type="text" placeholder="文本内容" value="">
            </div>
            <span id="htmlCd">长度:</span>
            <div id="htmlCd1" class="layui-input-inline" style="width:100px;height:25px;">
                <input id="operCd" name="operCd" title="最小长度为110" class="layui-input" style="padding:0px;margin:0px;height:25px;" type="text" placeholder="长度">
            </div>
            <span id="htmlDj">单击事件:</span>
            <div id="htmlDj1" class="layui-input-inline" style="width:150px;height:25px;">
                <input id="operDj" name="operDj" class="layui-input" style="padding:0px;margin:0px;height:25px;" type="text" placeholder="函数">
            </div>&nbsp;&nbsp;
            <a class="layui-btn layui-btn-xs layui-bg-red" onclick="removeGn();">移除</a>
            <a class="layui-btn layui-btn-xs layui-bg-blue" onclick="copyGn();">复制</a>
            <a class="layui-btn layui-btn-xs layui-bg-cyan" onclick="saveGn();">确定</a>
        </div>
        <div style="width:100%;height:25px;padding-top:5px;"></div>
        <div style="width:calc(100% - 4px);height:calc(100% - 84px);padding:2px;">
            <svg id="svg" width="calc(100% - 4px)" height="100%" version="1.1" xmlns="http://www.w3.org/2000/svg" style="border:2px solid #ccc;"><g id="global_box" transform="translate(0,0)"></g></svg>
        </div>
    </div>

</form>
<script type="text/javascript" src="js/drawsvgjs/drawsvg.js"></script>
	<link href="css/svg.css" style="text/css" rel="stylesheet">
    </div>
</body>
</html>

源码地址

【博主推荐】html界面绘制SVG图形(附源码)

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xcLeigh

万水千山总是情,打赏两块行不行

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值