fabric+cropper实现可视化画布画板可粘贴导入图片文字svg图标裁剪代码

代码语言:html

所属分类:其他

代码描述:fabric+cropper实现可视化画布画板可粘贴导入图片文字svg图标裁剪代码

代码标签: fabric cropper 可视化 画布 画板 粘贴 导入 图片 文字 svg 图标 裁剪 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>无限画布 - 图片/文字/SVG箭头编辑器</title>

  <!-- Fabric.js -->
  <script src="https://cdn.jsdelivr.net/npm/fabric@5.3.0/dist/fabric.min.js"></script>

  <!-- Cropper.js -->
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/cropperjs@1.6.2/dist/cropper.min.css">
  <script src="https://cdn.jsdelivr.net/npm/cropperjs@1.6.2/dist/cropper.min.js"></script>

  <style>
    * { box-sizing: border-box; }
    html, body {
      margin: 0;
      width: 100%;
      height: 100%;
      overflow: hidden;
      font-family: Arial, "Microsoft YaHei", sans-serif;
      background: #0b1020;
    }

    #app {
      position: fixed;
      inset: 0;
      overflow: hidden;
    }

    #gridCanvas,
    #editorCanvas {
      position: absolute;
      inset: 0;
      display: block;
    }

    #toolbar {
      position: fixed;
      top: 12px;
      left: 12px;
      z-index: 20;
      background: rgba(17, 24, 39, 0.82);
      color: #fff;
      border: 1px solid rgba(255,255,255,0.08);
      border-radius: 14px;
      padding: 12px;
      backdrop-filter: blur(12px);
      box-shadow: 0 10px 30px rgba(0,0,0,0.28);
      max-width: calc(100vw - 24px);
    }

    #toolbar .row {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px;
      margin-bottom: 8px;
    }

    #toolbar .row:last-child {
      margin-bottom: 0;
    }

    #toolbar .title {
      font-size: 15px;
      font-weight: 700;
      margin-bottom: 8px;
      color: #eaf2ff;
    }

    button, input, select {
      font: inherit;
    }

    button {
      border: 0;
      border-radius: 10px;
      padding: 8px 12px;
      background: #1f2a44;
      color: #fff;
      cursor: pointer;
      transition: 0.18s;
    }

    button:hover {
      background: #2b3b60;
    }

    button.primary {
      background: #2563eb;
    }

    button.primary:hover {
      background: #1d4ed8;
    }

    button.danger {
      background: #dc2626;
    }

    button.danger:hover {
      background: #b91c1c;
    }

    input[type="color"] {
      width: 42px;
      height: 36px;
      border: none;
      border-radius: 8px;
      padding: 0;
      background: transparent;
      cursor: pointer;
    }

    input[type="number"] {
      width: 78px;
      height: 36px;
      border: 1px solid rgba(255,255,255,0.15);
      border-radius: 10px;
      padding: 0 10px;
      background: rgba(255,255,255,0.06);
      color: #fff;
      outline: none;
    }

    .small-label {
      font-size: 12px;
      color: #c6d2ea;
      margin-right: 2px;
    }

    #statusBar {
      position: fixed;
      left: 12px;
      bottom: 12px;
      z-index: 20;
      color: #dbe8ff;
      background: rgba(17, 24, 39, 0.75);
      border: 1px solid rgba(255,255,255,0.08);
      border-radius: 12px;
      padding: 10px 12px;
      backdrop-filter: blur(10px);
      font-size: 13px;
      line-height: 1.7;
      box-shadow: 0 10px 30px rgba(0,0,0,0.25);
      max-width: min(92vw, 520px);
    }

    #statusBar strong {
      color: #fff;
    }

    #toast {
 .........完整代码请登录后点击上方下载按钮下载查看

网友评论0