手绘草图直接生成HTML!这两个开源项目碉爆了!

博客首发自公众号:程序员Sunday

Hello,大家好,我是 Sunday。

利用低代码平台生成直接可访问的 HTML 好像已经不是什么新鲜事了,但是直接通过 手绘草图生成 HTML 应该还是比较少见的吧。

所以咱们今天就来看看这种功能如何实现!

想要实现这种功能需要依赖两个框架:

  1. tldraw:提供草图自定义绘制功能
  2. draw-a-ui:基于 tldraw,额外对接 GPT-4,直接生成 HTML

我们可以通过以下 GIF 来查看它们的工作方式:

那么下面咱们就看看这两个框架如何进行使用。

tldraw

tldraw 是一个可协作的数字白板工具 ,通过 tldraw.com 可以体验其功能。

这个工具提供了 开源 的编辑器、用户界面和其他底层库,开发者可以在相关的存储库中获取这些资源,同时也可以通过 npm 获取 tldraw。它为开发者提供了创建嵌入式白板或者构建自己无限画布应用程序的基础。这个工具的灵活性让开发者可以根据自己的需求定制应用,为产品增加协作绘图的功能。

我们也可以通过以下方式直接使用它:

javascript 复制代码
import { Tldraw } from '@tldraw/tldraw'
import '@tldraw/tldraw/tldraw.css'
// 引入相应的库
export default function () {
	return (
		<div style={{ position: 'fixed', inset: 0 }}>
			<Tldraw />
		</div>
	)
}

draw-a-ui

draw-a-ui 是一个应用程序,利用 tldraw 和 GPT-4 Vision API,能够根据绘制的线框生成 HTML 和 CSS。

相较于传统人工智能模型,GPT-4 Vision 结合了视觉数据理解自然语言的能力,这让它在识别图像内的空间位置上更具优势。这个项目通过 GPT-4 Vision API 实现了对视觉数据的更深入探索,用户可以借助这个技术来更全面地理解世界。这种整合视觉和语言能力的方式使得 draw-a-ui 在根据用户绘制的线框生成 HTML 和 CSS 方面更为智能和准确。

我们可以直接通过这个链接来访问它在 twitter 上的宣传视频

链接:twitter.com/sawyerhood/...

draw-a-ui 的工作原理相当巧妙:

  • 它首先获取当前画布的 SVG 表示,然后将其转换为 PNG 格式。
  • 接着,它会发送这个 PNG 图像到 gpt-4-vision 模型,附带相应的指令,以请求返回一个包含 Tailwind CSS 的单个 HTML 文件。

这种方法结合了 SVG、PNG 转换和 GPT-4 Vision 的能力,使得用户能够利用绘制的线框生成具有高度定制风格的 HTML 和 CSS 文件。

弄清楚产品的状态和局限性对使用者至关重要。draw-a-ui 项目的当前状态是不够成熟,并且并未设计用于生产环境,也没有身份验证功能。有兴趣的用户可以在 www.draw-a-ui.com 平台上进行试用体验。

如何使用 draw-a-ui?

目前,draw-a-ui 是一个基于 Next.js 的应用程序。要开始使用,请在项目的根目录中运行以下命令。同时你需要 有一个可以访问 GPT-4 Vision API 权限的 OpenAI API 密钥

确保你的 Node 版本高于 v18.17,并安装了 Next.js 14。

arduino 复制代码
// 需要有自己的openai的key、没有可以申请
echo "OPENAI_API_KEY=sk-your-key" > .env.local
// 安装依赖
npm install
// 启动开发服务器
npm run dev

用浏览器打开 http://localhost:3000 查看真实运行效果页面。

前端训练营:1v1私教,终身辅导计划,帮你拿到满意的 offer 已帮助数百位同学拿到了中大厂 offer。欢迎来撩~~~~~~~~

相关推荐
艾斯特_3 分钟前
前端代码装饰器的介绍及应用
前端·javascript
Sokachlh7 分钟前
【elementplus】中文模式
前端·javascript
轻口味7 分钟前
【每日学点鸿蒙知识】hap安装报错、APP转移账号、import本地文件、远程包构建问题、访问前端页面方法
前端·华为·harmonyos
m0_7482453414 分钟前
BY组态-低代码web可视化组件
前端·低代码
web1828548251237 分钟前
ctfshow-web 151-170-文件上传
前端·状态模式
轻口味42 分钟前
【每日学点鸿蒙知识】Web请求支持Http、PDF展示、APP上架应用搜索问题、APP备案不通过问题、滚动列表问题
前端·http·harmonyos
一棵开花的树,枝芽无限靠近你1 小时前
【PPTist】表格功能
前端·笔记·学习·编辑器·ppt·pptist
马船长1 小时前
RCE-PLUS (学习记录)
java·linux·前端
Ares码农人生1 小时前
React 高级组件开发:动态逻辑与性能优化
vue.js·前端框架
学前端的小朱2 小时前
修改输出资源的名称和路径、自动清空上次打包资源
前端·webpack·打包工具