UI提供一个图片转换Html,Screenshot-to-code:UI设计图转整页代码

本文主要是介绍UI提供一个图片转换Html,Screenshot-to-code:UI设计图转整页代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大概是2018年的时候,那时候我还是一个很稚嫩的小前端,我记得很深刻,当前GitHub上有个叫做star,这个项目主要表达的是在未来三年内,深度学习将改变前端开发。它将会根据设计图自动生成对应的html,css代码,从而拉低开发软件的门槛。

也就是说我们前端以后不需要再画静态了!

项目地址:https://github.com/emilwallner/Screenshot-to-code

ec40dc4b5fefb970baaa5fb34d6918e0.png

这里简单说一下原理

Screenshot-to-code-in-Keras 是 Emil Wallner 实现的一个可根据设计草图生成基本 HTML 和 CSS 网站的神经网络。以下是该过程的简要概述:

1)给训练好的神经网络提供设计图像

4a71ff23079941ebd097b1a0460233f7.png

2)神经网络将图片转化为 HTML 标记语言

346d9dccf5e4e64a3c8360d31cce7864.png

3)渲染输出

12f5e43cdfa5aa150c371b3e565bbf4e.png

Emil Wallner 分三步从易到难构建三个不同的模型:

首先,构建最简单的版本来掌握移动部件。

然后,专注于自动化所有步骤,并简要解释神经网络层。

最后,创建一个模型来思考和探索 LSTM 层。

这里只做简单介绍,感兴趣的朋友可以在头条搜索中搜 Screenshot-to-code 即可看到更多详细内容

发展到今天,设计图转代码已经基本实现

前几天体验了一下蓝湖内测的设计图转代码功能,真的挺震撼的。废话不多说,大家请看视频!

(第二张示例图中标签文字溢出并不是bug,因为谷歌浏览器最小文字只支持12px)

从上面视频可以看到,UI小姐姐只需要把画好的项目设计图放上去,我们前端就可以直接生成完整的静态页。目前来看主要支持vue和普通的html页面。css倒是兼容得非常好,less和sass都支持不过这毕竟只是一个内测版,相信等正式推出时应该是可以兼容到react等主流框架的。

感觉这对我们前端来说其实还是利大于弊,因为前端最主要的交互和逻辑未来五年内应该是不可能像静态一样可以生成,那么设计图转代码的功能的推出其实还是可以在一定程度上减轻我们的工作负担。

因为画静态页对大部分前端来说都是枯燥无味的工作。如果以后都不用画静态的画,那么我们就可以有空闲时间来学习新技术,新知识。比如现在挺火的云函数啥的,学学总没有坏处。或者学一门后端语言等都可以不断完善自己的技术栈,提高自己的行业竞争力。

声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。导航:艺宵博客 » Screenshot-to-code:UI设计图转整页代码

这篇关于UI提供一个图片转换Html,Screenshot-to-code:UI设计图转整页代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/263372

相关文章

从入门到精通详解LangChain加载HTML内容的全攻略

《从入门到精通详解LangChain加载HTML内容的全攻略》这篇文章主要为大家详细介绍了如何用LangChain优雅地处理HTML内容,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录引言:当大语言模型遇见html一、HTML加载器为什么需要专门的HTML加载器核心加载器对比表二

WinForm跨线程访问UI及UI卡死的解决方案

《WinForm跨线程访问UI及UI卡死的解决方案》在WinForm开发过程中,跨线程访问UI控件和界面卡死是常见的技术难题,由于Windows窗体应用程序的UI控件默认只能在主线程(UI线程)上操作... 目录前言正文案例1:直接线程操作(无UI访问)案例2:BeginInvoke访问UI(错误用法)案例

Python实现MQTT通信的示例代码

《Python实现MQTT通信的示例代码》本文主要介绍了Python实现MQTT通信的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 安装paho-mqtt库‌2. 搭建MQTT代理服务器(Broker)‌‌3. pytho

MySQL进行数据库审计的详细步骤和示例代码

《MySQL进行数据库审计的详细步骤和示例代码》数据库审计通过触发器、内置功能及第三方工具记录和监控数据库活动,确保安全、完整与合规,Java代码实现自动化日志记录,整合分析系统提升监控效率,本文给大... 目录一、数据库审计的基本概念二、使用触发器进行数据库审计1. 创建审计表2. 创建触发器三、Java

Kotlin Map映射转换问题小结

《KotlinMap映射转换问题小结》文章介绍了Kotlin集合转换的多种方法,包括map(一对一转换)、mapIndexed(带索引)、mapNotNull(过滤null)、mapKeys/map... 目录Kotlin 集合转换:map、mapIndexed、mapNotNull、mapKeys、map

基于Python实现一个图片拆分工具

《基于Python实现一个图片拆分工具》这篇文章主要为大家详细介绍了如何基于Python实现一个图片拆分工具,可以根据需要的行数和列数进行拆分,感兴趣的小伙伴可以跟随小编一起学习一下... 简单介绍先自己选择输入的图片,默认是输出到项目文件夹中,可以自己选择其他的文件夹,选择需要拆分的行数和列数,可以通过

关于集合与数组转换实现方法

《关于集合与数组转换实现方法》:本文主要介绍关于集合与数组转换实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、Arrays.asList()1.1、方法作用1.2、内部实现1.3、修改元素的影响1.4、注意事项2、list.toArray()2.1、方

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN