V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
AsZr
V2EX  ›  外包

外包: React SVG 图形编辑 模块

  •  1
     
  •   AsZr · 2023-06-27 20:34:12 +08:00 · 664 次点击
    这是一个创建于 493 天前的主题,其中的信息可能已经有所发展或是发生改变。

    画布中可以放入的组件( image/iframe )其的开发 /注册,不要求那些矢量编辑(矩形 / 线条) 画布元素的 移动 /缩放 /旋转 /删除 历史记录(本地,数据管理持久化?)/ 撤销回退 右键菜单 /快捷键 ; 里面主要的功能实现:剪贴 /复制 /粘贴 /层级移动

    上面是基础的纯编辑器功能,用函数组件配合 hooks 、数据管理来实现。

    因为有组件元素是 iframe ,目前的倾向是 JS Dom SVG 编辑

    有能力接的感兴趣的加绿色软件详聊: amFuZ3lvbmdjaGVu (base64)

    9 条回复    2023-06-28 21:18:33 +08:00
    AsZr
        1
    AsZr  
    OP
       2023-06-28 07:51:45 +08:00
    我看一些方案是用 fabric.js 来做 canvas 编辑器,这个不太了解,不知道它画布上能不能放 iframe
    poppub
        2
    poppub  
       2023-06-28 09:03:55 +08:00
    svg 可以用 foreignobject 引入 iframe 。canvas 我记得不行,得想别的办法
    DrugsZ
        3
    DrugsZ  
       2023-06-28 09:44:21 +08:00
    @AsZr #1 我现在在公司做的是以 React 驱动 DOM 进行渲染的,现在在搞一个纯 Canvas 渲染的项目。从这两块来讲我应该算是有经验的? 我不知道你这边用 iframe 是用来实现什么功能,如果是聚合类似的功能,那么最好不要用 iframe 而是纯粹通过数据的组织来进行处理,因为通过渲染层来提供复杂的高阶功能会不可避免带来一些逻辑处理的混乱,比如 iframe 下一个组件的位置宽高信息到底应该信任内存中的还是 iframe 中期望的。
    DrugsZ
        4
    DrugsZ  
       2023-06-28 09:45:52 +08:00
    @AsZr #1 上述两个项目都是图形编辑器哈。 好像漏了
    AsZr
        5
    AsZr  
    OP
       2023-06-28 10:58:10 +08:00 via iPhone
    @poppub
    @DrugsZ
    是的 我们有个最基础 react 驱动 dom svg 编辑在跑。iframe 是必须的,我们现在就是 svg 大容器 里面 iframe 组件引入就是用 foreignobject 包裹一层 😂 因为一些特定的业务原因 一定要用 iframe ,你看我们都不用矢量图这些。
    AsZr
        6
    AsZr  
    OP
       2023-06-28 11:00:25 +08:00 via iPhone
    @DrugsZ 有意向的可以加微信详聊,上面微信联系人是负责外包事务沟通的
    R1hu6Hs2sSN8pkVX
        7
    R1hu6Hs2sSN8pkVX  
       2023-06-28 14:30:49 +08:00   ❤️ 1
    聊了几分钟,技术负责人讲不清需求,兄弟们避坑
    AsZr
        8
    AsZr  
    OP
       2023-06-28 14:47:53 +08:00
    @whatFoxSay #7 hhh 生活愉快
    AsZr
        9
    AsZr  
    OP
       2023-06-28 21:18:33 +08:00 via iPhone
    已有合适人选
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   986 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 21:38 · PVG 05:38 · LAX 14:38 · JFK 17:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.