找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 文档 工具 设计
查看: 99|回复: 1

【HTML】图片转换SVG

[复制链接]

2万

主题

1249

回帖

2万

积分

超级版主

教育辅助界扛把子

附加身份标识
精华
1
热心
7
听众
1
威望
48
贡献
14307
违规
0
书币
49981
注册时间
2020-4-8

论坛元老灌水之王

发表于 2023-10-16 01:05 | 显示全部楼层 |阅读模式
【HTML】图片转换SVG


[AppleScript] 纯文本查看 复制代码
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>SVG图片生成器</title>
  <style>
    body {
      display: flex;
      justify-content: center;
      align-items: center;
      height: 100vh;
      background-color: #f7f7f7;
      font-family: Arial, sans-serif;
    }
     
    .container {
      text-align: center;
      padding: 20px;
      background-color: #fff;
      box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }
 
    h1 {
      margin-top: 0;
    }
 
    input[type="file"] {
      margin-bottom: 10px;
      display: none;
    }
 
    label {
      display: inline-block;
      padding: 10px 20px;
      background-color: #007bff;
      color: #fff;
      cursor: pointer;
    }
 
    .avatar {
      margin-top: 10px;
      max-width: 100%;
      height: auto;
    }
 
    .download-button {
      margin-top: 10px;
      display: none;
    }
  </style>
</head>
<body>
  <div class="container">
    <h1>SVG图片生成器</h1>
    <label for="upload">选择图片</label>
    <input id="upload" type="file" required accept="image/gif, image/jpeg, image/png">
    <img class="avatar" src="" alt="Avatar Preview">
    <a class="download-button" href="#" download="noavatar.svg">下载 SVG</a>
  </div>
 
<script>
document.getElementById('upload').addEventListener('change', function() {
  var file = this.files[0];
  if (file) {
    var reader = new FileReader();
    reader.readAsDataURL(file);
    reader.addEventListener('load', function() {
      var dataURL = this.result;
      var svgCode = '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="120" height="120"><image xlink:href="'+dataURL+'" height="120" width="120"/></svg>';
      var blob = new Blob([svgCode], {type: 'image/svg+xml'});
      var url = URL.createObjectURL(blob);
      document.querySelector('.avatar').src = url;
      document.querySelector('.download-button').style.display = 'inline-block';
      document.querySelector('.download-button').href = url;
    });
  }
});
</script>
</body>
</html>
Great works are not done by strength, but by persistence! 历尽艰辛的飞升者,成了围剿孙悟空的十万天兵之一。

2万

主题

1249

回帖

2万

积分

超级版主

教育辅助界扛把子

附加身份标识
精华
1
热心
7
听众
1
威望
48
贡献
14307
违规
0
书币
49981
注册时间
2020-4-8

论坛元老灌水之王

 楼主| 发表于 2023-10-16 01:06 | 显示全部楼层
这转换没意义,只是把位图包装成了矢量图的格式。

SVG 主要目的是制作矢量图,这样的意义在于可以无损放大。
你这样直接把位图的每个像素塞进去 svg,放大后照样糊。
Great works are not done by strength, but by persistence! 历尽艰辛的飞升者,成了围剿孙悟空的十万天兵之一。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号


免责声明:
本站所发布的第三方软件及资源(包括但不仅限于文字/图片/音频/视频等仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢某程序或某个资源,请支持正版软件及版权方利益,注册或购买,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To: admin@cdsy.xyz

QQ|Archiver|手机版|小黑屋|城东书院 ( 湘ICP备19021508号-1|湘公网安备 43102202000103号 )

GMT+8, 2024-11-21 16:53 , Processed in 0.044640 second(s), 28 queries .

Powered by Discuz! CDSY.XYZ

Copyright © 2019-2023, Tencent Cloud.

快速回复 返回顶部 返回列表