[开源初探]screenshot-to-code:将截图转化为代码

介绍说明

将截图转化为 HTML 代码的工具。该项目可以将屏幕截图转化为 HTML/JS/Tailwind CSS 代码,它使用 GPT-4 Vision 生成代码、DALL-E 3 生成相似的图片。

安装运行

为了方便演示及保持原有系统的简洁,将使用 docker 的方式来安装运行 screenshot-to-code。由于项目本身已经提供了 Dockerfile,我们直接使用即可,需要注意的是,该项目有 frontend 和 backend 两个镜像。

  • 克隆代码
复制代码
git clone https://github.com/abi/screenshot-to-code.git
  • 构建 frontend
复制代码
cd frontend/

docker build -t screenshot-to-code-frontend:latest -f ./Dockerfile .

docker images | grep screenshot-to-code-frontend
  • 构建 backend
复制代码
cd backend/

docker build -t screenshot-to-code-backend:latest -f ./Dockerfile .

docker images | grep screenshot-to-code-backend
  • 运行 frontend
复制代码
docker rm -f screenshot-to-code-frontend

docker run --name screenshot-to-code-frontend -d \
--network host \
-e VITE_WS_BACKEND_URL="ws://{your machine ip}:7001" \
screenshot-to-code-frontend:latest

docker ps | grep screenshot-to-code-frontend
  • 运行 backend
复制代码
docker rm -f screenshot-to-code-backend

docker run --name screenshot-to-code-backend -d \
--network host \
-e OPENAI_API_KEY="{your_openai_api_key}" \
screenshot-to-code-backend:latest \
poetry run uvicorn main:app --host 0.0.0.0 --port 7001

docker ps | grep screenshot-to-code-backend

使用简介

经过上述步骤后,screenshot-to-code 已成功运行,此时可通过服务器 IP + 5173 端口访问(需要设置相关安全组或防火墙规则,这里需要设置 5173 和 7001 两个端口)。

  • 主页
  • 手机助手截图
  • 生成过程
  • 查看源码
  • 生成页面
  • 源码
复制代码
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>网页示例</title>
    <script src="https://cdn.tailwindcss.com"></script>
    <style>
        body {
            font-family: 'PingFang SC', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
        }
</style>
</head>
<body class="bg-gray-100">
    <div class="flex h-screen">
        <!-- Sidebar -->
        <div class="w-1/5 bg-gray-800 text-white p-5">
            <div class="text-xl mb-8">导航栏目</div>
            <div class="text-lg mb-4">首页</div>
            <div class="text-lg mb-4">视频</div>
            <div class="text-lg mb-4">直播</div>
            <div class="text-lg mb-4">QQ空间</div>
            <div class="text-lg mb-4">微信公众</div>
            <div class="text-lg mb-4">手机天猫</div>
            <div class="text-lg mb-4">全球文化</div>
            <div class="text-lg mb-4">手机助手</div>
        </div>

        <!-- Main content -->
        <div class="w-4/5 p-5">
            <div class="flex justify-between border-b-2 border-gray-300 pb-2 mb-5">
                <div class="text-gray-700 text-lg">全部应用</div>
                <div class="space-x-2">
                    <button class="bg-blue-500 text-white px-4 py-2 rounded">全部应用</button>
                    <button class="bg-transparent text-blue-500 border border-blue-500 px-4 py-2 rounded">全部团队</button>
                    <button class="bg-transparent text-blue-500 border border-blue-500 px-4 py-2 rounded">下载新应用</button>
                </div>
            </div>
            <!-- Placeholder for content -->
            <div class="h-full"></div>
        </div>
    </div>
</body>
</html>

项目地址

更多项目详细信息请到项目主页获取

https://github.com/abi/screenshot-to-code

快捷镜像

ccr.ccs.tencentyun.com/erik_xu/screenshot-to-code-frontend:latest

ccr.ccs.tencentyun.com/erik_xu/screenshot-to-code-backend:latest

写在最后

开源初探\] 是一个介绍有趣开源项目的栏目,如果大家有什么问题或开源推荐,欢迎在文章或者公众号 - 跬步之巅留言交流。

相关推荐
零一iTEM2 分钟前
MAX98357A_音频输出测试
单片机·嵌入式硬件·开源·音视频·硬件工程
阿杰学AI7 分钟前
AI核心知识92——大语言模型之 Self-Attention Mechanism(简洁且通俗易懂版)
人工智能·ai·语言模型·自然语言处理·aigc·transformer·自注意力机制
kali-Myon19 分钟前
2025春秋杯网络安全联赛冬季赛-day1
java·sql·安全·web安全·ai·php·web
Ryan老房23 分钟前
智能家居AI-家庭场景物体识别标注实战
人工智能·yolo·目标检测·计算机视觉·ai·智能家居
kali-Myon37 分钟前
2025春秋杯网络安全联赛冬季赛-day3
python·安全·web安全·ai·php·web·ctf
ghostwritten41 分钟前
Cursor 代码库索引三剑客:Local、Worktree、Cloud 指南
ai·cursor
猫头虎43 分钟前
如何使用Docker部署OpenClaw汉化中文版?
运维·人工智能·docker·容器·langchain·开源·aigc
holeer1 小时前
【V2.0】王万良《人工智能导论》笔记|《人工智能及其应用》课程教材笔记
神经网络·机器学习·ai·cnn·nlp·知识图谱·智能计算
一只大侠的侠1 小时前
Flutter开源鸿蒙跨平台训练营 Day 15React Native Formik 表单实战
flutter·开源·harmonyos
玉梅小洋1 小时前
解决 VS Code Claude Code 插件「Allow this bash command_」弹窗问题
人工智能·ai·大模型·ai编程