经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » 编程经验 » 查看文章
[开源初探]screenshot-to-code:将截图转化为代码
来源:cnblogs  作者:编程玩家  时间:2024/3/27 8:43:59  对本文有异议

介绍说明

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

 

安装运行

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

  • 克隆代码

  1. git clone https://github.com/abi/screenshot-to-code.git

  • 构建 frontend

  1. cd frontend/
  2. docker build -t screenshot-to-code-frontend:latest -f ./Dockerfile .
  3. docker images | grep screenshot-to-code-frontend

  • 构建 backend

  1. cd backend/
  2. docker build -t screenshot-to-code-backend:latest -f ./Dockerfile .
  3. docker images | grep screenshot-to-code-backend

  • 运行 frontend

  1. docker rm -f screenshot-to-code-frontend
  2. 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
  3. docker ps | grep screenshot-to-code-frontend

  • 运行 backend

  1. docker rm -f screenshot-to-code-backend
  2. 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
  3. docker ps | grep screenshot-to-code-backend

使用简介

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

  • 主页

 

  • 手机助手截图

  • 生成过程

  • 查看源码

  • 生成页面

  • 源码

  1. <html lang="zh-CN">
  2. <head>
  3. <meta charset="UTF-8">
  4. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  5. <title>网页示例</title>
  6. <script src="https://cdn.tailwindcss.com"></script>
  7. <style>
  8. body {
  9. font-family: 'PingFang SC', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
  10. }
  11. </style>
  12. </head>
  13. <body class="bg-gray-100">
  14. <div class="flex h-screen">
  15. <!-- Sidebar -->
  16. <div class="w-1/5 bg-gray-800 text-white p-5">
  17. <div class="text-xl mb-8">导航栏目</div>
  18. <div class="text-lg mb-4">首页</div>
  19. <div class="text-lg mb-4">视频</div>
  20. <div class="text-lg mb-4">直播</div>
  21. <div class="text-lg mb-4">QQ空间</div>
  22. <div class="text-lg mb-4">微信公众</div>
  23. <div class="text-lg mb-4">手机天猫</div>
  24. <div class="text-lg mb-4">全球文化</div>
  25. <div class="text-lg mb-4">手机助手</div>
  26. </div>
  27.  
  28. <!-- Main content -->
  29. <div class="w-4/5 p-5">
  30. <div class="flex justify-between border-b-2 border-gray-300 pb-2 mb-5">
  31. <div class="text-gray-700 text-lg">全部应用</div>
  32. <div class="space-x-2">
  33. <button class="bg-blue-500 text-white px-4 py-2 rounded">全部应用</button>
  34. <button class="bg-transparent text-blue-500 border border-blue-500 px-4 py-2 rounded">全部团队</button>
  35. <button class="bg-transparent text-blue-500 border border-blue-500 px-4 py-2 rounded">下载新应用</button>
  36. </div>
  37. </div>
  38. <!-- Placeholder for content -->
  39. <div class="h-full"></div>
  40. </div>
  41. </div>
  42. </body>
  43. </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

写在最后

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

原文链接:https://www.cnblogs.com/Erik_Xu/p/18096246

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号