问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于SVG制作软件中,除了SVGDeveloper,还有哪种软件能直接编辑SVG代码?

发布网友 发布时间:2022-04-19 09:44

我来回答

2个回答

热心网友 时间:2023-10-23 19:33

SVG是一种文本文件,可以用记事本等文本工具打开,进行手动编辑。

热心网友 时间:2023-10-23 19:33

<!DOCTYPE html>
<html>
<head>
<title>SVG_EDITOR</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<style type="text/css">
#toolbox {
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 250px;
border-right: 1px solid #CCC;
}

#toolbox h2 {
margin: 0;
padding: 0;
background: #EEE;
font-size: 16px;
height: 24px;
line-height: 24px;
padding: 5px 10px;
}

#toolbox form {
padding: 10px;
}

#canvas {
position:absolute;
left:260px;
top:10px;
bottom:10px;
right:10px;
box-shadow:2px 2px 10px rgba(0,0,0,.4);
border-radius:5px;
}
label{
display:inline-block;
width:80px;
text-align:right;
}
</style>
</head>
<body>
<div id="toolbox">
<h2>创建</h2>
<form id="create-shape">
<button type="button" create="rect">Rect</button>
<button type="button" create="circle">Circle</button>
<button type="button" create="ellipse">Ellipse</button>
<button type="button" create="line">Line</button>
</form>
<h2>形状</h2>
<form id="shape-attrs">
请先创建图形
</form>
<h2>外观和变换</h2>
<form id="look-and-transform" disabled="disabled">
<p>
<label style="display:inline;">填充</label>
<input id="fill" type="color" value="#ffffff"/>
</p>
<p>
<label style="display:inline;">描边</label>
<input id="stroke" type="color" value="#ff0000"/>
<input id="strokeWidth" type="range" value="0"/>
</p>
<p>
<lable>translateX</lable>
<input id="translateX" type="range" min="-400" max="400" value="0"/>
<lable>translateY</lable>
<input id="translateY" type="range" min="-400" max="400" value="0"/>
<lable>rotate </lable>
<input id="rotate" type="range" min="-180" max="180" value="0"/>
<lable>scale </lable>
<input id="scale" type="range" min="-1" max="2" step="0.01" value="1"/>
</p>
</form>
</div>
<div id="canvas"></div>
</body>
<script type="text/javascript">
var SVG_NS='http://www.w3.org/2000/svg';

//图形及对应默认属性
var shapeInfo={
rect:'x:10,y:10,width:200,height:100,rx:0,ry:0',
circle:'cx:200,cy:200,r:50',
ellipse:'cx:200,cy:200,rx:80,ry:30',
line:'x1:10,y1:10,x2:100,y2:100'
};
//默认公共属性
var defaultAttrs={
fill:'#ffffff',
stroke:'#ff0000'
};

var createForm =document.getElementById('create-shape');
var attrForm=document.getElementById('shape-attrs');
var lookForm=document.getElementById('look-and-transform');

var svg=createSVG();
var selected=null;

createForm.addEventListener('click',function(e){
if(e.target.tagName.toLowerCase()=='button'){
create(e.target.getAttribute('create'));
}
});

attrForm.addEventListener('input',function(e){
if(e.target.tagName.toLowerCase()!='input') return;
var handle=e.target;
selected.setAttribute(handle.name,handle.value);
});

lookForm.addEventListener('input',function(e){
if(e.target.tagName.toLowerCase()!='input') return;
if(!selected) return;
selected.setAttribute('fill',fill.value);
selected.setAttribute('stroke',stroke.value);
selected.setAttribute('stroke-width',strokeWidth.value);
selected.setAttribute('transform',encodeTranform({
tx:translateX.value,
ty:translateY.value,
scale:scale.value,
rotate:rotate.value
}))
});

function createSVG(){
var svg =document.createElementNS(SVG_NS,'svg');
svg.setAttribute('width','100%');
svg.setAttribute('height','100%');
canvas.appendChild(svg);

svg.addEventListener('click',function(e){
if(e.target.tagName.toLowerCase() in shapeInfo){
select(e.target);
}
});
return svg;
}

function create(name){
var shape=document.createElementNS(SVG_NS,name);
svg.appendChild(shape);
select(shape);
}

function select(shape){
var attrs=shapeInfo[shape.tagName].split(',');
console.log(attrs);
var attr,name,value;

attrForm.innerHTML="";

while(attrs.length){
attr=attrs.shift().split(':');
name=attr[0];
console.log(name);
value=shape.getAttribute(name)||attr[1];
console.log('-------------------');
createHandle(shape,name,value);
shape.setAttribute(name,value);
}

for(name in defaultAttrs){
value =shape.getAttribute(name)||defaultAttrs[name];
shape.setAttribute(name,value);
}
selected=shape;

updateLookHandle();
}

function createHandle(shape,name,value){
var label=document.createElement('label');
label.textContent=name;
console.log(label);
var handle=document.createElement('input');
handle.setAttribute('name',name);
handle.setAttribute('type','range');
handle.setAttribute('value',value);
handle.setAttribute('min',0);
handle.setAttribute('max',800);
console.log(handle);
attrForm.appendChild(label);
attrForm.appendChild(handle);
}

function updateLookHandle(){
fill.value=selected.getAttribute('fill');
stroke.value=selected.getAttribute('stroke');
var t=decodeTransform(selected.getAttribute('transform'));
translateX.value=t?t.tx:0;
translateY.value=t?t.tY:0;
rotate.value=t?t.rotate:0;
scale.value=t?t.scale:1;
}
function decodeTransform(transString){
var match=/translate\((\d+),(\d+)\)\srotate\((\d+)\)\sscale\((\d+)\)/.exec(transString);
return match ? {
tx:+match[1],
ty:+match[2],
rotate:+match[3],
scale:+match[4]
}:null;
}

function encodeTranform(transObject){
return ['translate(',transObject.tx,',',transObject.ty,')',
'rotate(',transObject.rotate,')',
'scale(',transObject.scale,')'].join('');
}
</script>
</html>
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
报错Warning: Trying to access array offset on value of type boo... ...with message 'Illegal string offset 'BindStartDate''_百度... 网站导航出现 Warning: Illegal string offset 'parentid' in_百度... PHP提示 Warning: Illegal string offset 'name' in在XX目录下的文件... 心情压抑了,得不到释放该怎么办?拜托各位了3Q 怎样暗示我的女生 我喜欢她 要提示的 我很内向拜托各位了 3Q_百度... 你好,阿富汗内容简介 闺怨诗词古名句鉴赏(15首经典闺怨诗) 钢琴考级一到十级 ...开机密码忘了不能用指纹除了刷机还有办法吗在线等很急 一般svg是由什么编辑的,ps和fireworks可以做svg的编辑器吗? 秀米复制公众号svg无法显示 设计,微信公众号推送有哪些不同的排版风格 秀米svg点击图片出现文字 秀米里面的svg动画导到公众号 那之后消失了 微信推文排版现在有哪些样式了?是不是SVG居多? svg格式用什么软件可以编辑 公众号编辑排版问题 微信公众号文章中点击一个按钮出现另外一个图片或者文字的功能怎么设置,用的什么编辑器? 微信图文排版需要一些好看的元宵节svg 去哪里找? 如何用svg代码排版微信? 微信排版动态svg怎么改图片? 如何用svg代码排版微信? cda数据分析师证书含金量 cda证书值不值得考 数据分析师要考哪些证? 成为数据分析师需要考证书吗? 中国商业联合会数据分析专业委员会是数据行业的监管机构吗? CDA数据分析师证书含金量高吗 数据分析师这个证书有必要考嘛? 微信公众号文章编辑器哪个好用? 请问这种SVG的图片怎么修改呢? svg文件是什么/怎么打开 秀米的svg布局怎么编辑大小 电脑结构图解? 植物根的结构和图解 脊柱解剖结构图解 马桶原理结构图解 晶体结构的图解表示 word怎么做结构图图解 蚯蚓的结构----图解 冲床离合器结构图解 空调外机结构图解 图解常见汽车发动机结构图 笔记本电脑结构名称图解 电吹风的内部构造及图解 蝶阀的结构详细图解 眼睛的构造图解及功能 变压器结构图解 电热水器内部结构图解