CEP教程11生成器

生成器,是Photoshop在2015年随着CC2015这个版本一起发布的。当时,由于移动端开始兴起,移动UI设计开始成为主流,随之诞生了一个叫Sketch的设计工具,主打UI设计,相比Ps它更轻巧在UI设计领域效率更高。Adobe也感觉到了压力,于是开始尝试在Ps上融入一些新的元素来提升UI设计能力,所以在CC2015中集成了两个东西:

这个东西属于实验性质的,后来发现不太行,在下一个版本就废弃了,转向了一个更独立的产品AdobeXD。

为了输出这样的产品功能,Photoshop引入了nodejs,并提出了生成器这个概念,支持我们用nodejs来写一些扩展,这个生成器的核心实现叫Generator-builtin,同时和这个生成器一起发布的是一个叫图像资源(imageassets)的扩展,它可以监听图层名称,然后从后台默默的进行图像输出,Adobe将这些东西都开源了,源码我们可以在这里找到

理论上,有了nodejs运行时,你能做的事情非常多,几乎nodejs提供给你的所有功能都能用,比如读取本地文件,运行本地的其它软件,做一些复杂的计算任务等等,以及能够借助node生态提供的丰富的库和组件,真的是如虎添翼。

我们在下面的内容会围绕这两个特性展开介绍,并通过一个实际的例子来使用这个两个特性,看它能做出来什么样的东西。

Photoshop引入了nodejs,然后在启动的时候,通过pipe调起nodejs运行时核心generator-builtin,该核心通过KLVR机制与Ps进行通信和交互,同时会加载放在指定位置的用户编写的扩展并运行。

生成器默认是关闭的,可以通过首选项->增效工具->启用生成器开启它。

开启之后,我们可以从菜单栏->文件中看到一个生成的选项,二级菜单中就是被加载出来的扩展了。

和CEP插件的安装位置不同,生成器的扩展安装在如下位置

Mac

12/Library/ApplicationSupport/Adobe/Plug-Ins/CC/Generator/Applications/AdobePhotoshop2021/Plug-ins/GeneratorWin

对于安装在上面位置的扩展,Ps只会在启动的时候去加载他们,在Ps运行过程中如果插件修改,是不会重新加载的。这显然无法满足开发的需要,所以我们需要配置它的开发模式。

打开首选项->增效工具

接着重启生成器,开发模式就配置好了

确保你本地安装了node环境,然后我们从github上分别下载生成器核心和它的demo项目,下载下来后随便放哪里都行,不用放到上面路径,那里是存放发布后的扩展的位置。

将这两个工程,存放到如下的路径结构

123|-generator-core|-plugins|--|--generator-getting-started

进入generator-core目录,执行安装模块依赖

1npminstall安装完成之后,执行如下命令加载demo扩展

该命令执行完成,会在控制台输出一堆信息,同时你会在Ps菜单栏->生成里头看到Tutorial选项,表示我们的demo扩展已经加载成功了。

generator-getting-started工程项目,我们可以看到主要就是两个文件package.json,main.js,第一个是扩展配置文件,配置一些扩展的基本属性,main.js是扩展的入口文件。入口文件对外暴露init方法提供给生成器核心进行初始化,详细代码大家可以自行阅读main.js文件。

菜单入口,指的是生成器加载完我们的扩展之后,在菜单栏->生成里头出现我们的扩展名称。这个工作不是必须的,如果我不想要在菜单栏头出名称,可以省略此步骤,不过依然推荐大家添加一个菜单,它有两个好处:

我们来看看如何添加菜单栏

1nodeapp.js-v-f/absolute/path/to/plugins

前面提到了,生成器的一个很重要的特性:获取图像原始数据,常规的CEP面板,或者ExtensionScript都没有给我们提供这样的能力,只有生成器这里有

pixmap是一个数据对象,里头的属性pixels就是该文档的图片原始数据,它是一个ARGB的Buffer,拿到这个图像数据之后,我们可以通过把它转成PNG图像格式,保存到本地,就相当于输出了当前Ps的图像内容了。

对于Ps来说,如果你想要导出一张图片,当前提供的能力,基本都是需要在UI界面上进行的,比如你调用DOMAPI的document.export方法导出图片,或者用AM的excuteAction(“export”)命令,它都是会阻塞当前Ps界面直到图片导出完成,这在一些切图插件上还是OK的,但是如果你要做预览插件这样的,就不行了,实时预览插件,需要持续不断的输出图片,放在UI进程上做,用户就没法使用PS了。但是生成提供的获取pixmap数据,是不会阻塞UI线程的,用户依然可以界面上进行作图,所有的行为都在后台默默完成。这个特性,是目前Ps仅有的在生成器里头提供的。

生成器还提供了事件监听功能,可以监听到Ps的一些行为,这里的事件名称和类型,是生成器独有的,和之前介绍过的什么CSXSEvent之类的,没有什么关系。

事件也是生成器一个很重要的功能,当宿主发生变化的时候,生成器的扩展可以据此做一些操作。比如我们下文要做的实时预览插件,就是需要监听Ps的imageChanged事件,当编辑的图像发生变化的时候,就获取该图片数据,然后发送给插件面板进行展示。

有这么两种种方案:

因为需要做双向通信,可以在生成器里头起一个websocketserver,CEP面板作为client,进行ws通信,这也是比较推荐的方式。生成器基于nodejs运行时,有非常多可用的现成ws库用来搭建wsserver,有需要的自行搜索一下。不过这个方案整体要复杂一些,我这个简单的例子不采用这个方案。

我在之前的篇章里头介绍过这个事件的概念和使用,这个事件主要用在ExtensionScript和JS面板之间的通信,上一个环节我们介绍了生成器可以执行ExtensionScript代码,所以可以通过它来派发一个事件通知插件面板。我接下来重点讲这个方案的实现。

插件面板给生成器发送指令,可以通过JSX的代码来完成,注意要指定你的生成器扩展ID

event-dispatch.jsx

1234vareventObj=newCSXSEvent();eventObj.type="com.generator.demo.plugin";eventObj.data=params.data;//data是传递进来自定义参数eventObj.dispatch();在nodejs脚本里头执行这个jsx脚本文件

以上的内容,就是和生成器有关的一些比较重要的特性介绍,除此之外生成器的核心还提供了许多API和功能,我就不一一罗列了,大家可以自己去看核心代码的接口注释。上面介绍的这些内容都是我认为比较重要的特性,以及它是构成我们下面这个案例必不可少的点。

要实现一个实时预览插件,大体是如下几个环节

考虑到图像数据一般比较大,将二进制数据直接通信比较消耗内存,我们可以在生成器这边将图像数据保存到本地图片中,然后将图片地址发送给插件面板,插件面板读取图片进行展示就可以了

由于生成器是随着PS启动就开始运作了,我们可以在插件面板中放一个按钮,点击后,发送一个消息给生成器,表示我要开始预览了,生成器再开始工作。

THE END
1.推荐自动生成UI设计的AI软件,只用30秒即可!在设计领域,同样有很多设计师会开始使用人工智能工具来帮助我们提高工作效率。如果你正在寻找能够迅速自动生成 UI 设计的 AI 软件,那么就赶紧关注我接下来介绍的几款吧,分别是:即时 AI 、Galileo AI、Fronty、Deep Art Effects、Uizar、Ingradients。希望能够助你一臂之力!https://js.design/special/article/auto-generated-page-ui-design.html
2.揭榜几款在线UI设计工具,新晋热门篇!随着远程办公日益流行,设计师们也开始转而使用在线UI设计工具。在以往的UI设计工作中,设计师们可能会遇到很多问题:UI设计工具不统一,团队之间难以共享资源;交付UI设计成品时,需要花费大量时间精力进行批注;UI设计规范不完善、共享不全面而选择一款高效适用的在线UI设计工具,往往能让这些问题迎刃而解。 1. https://pixso.cn/designskills/5-online-ui-design-tools/
3.5款免费UI设计利器,让你的设计工作更高效ui设计工具即时设计操作简单,内部包含各种组件和图标,包含UI设计所需的所有内容。无论您是否是付费用户,您都可以实时预览您的设计结果。预览会更方便,互动添加也非常简单。最重要的是,即时设计今年发布了一个设计工具。笔工具和布尔操作非常容易使用,相当于在线开关。 https://blog.csdn.net/2301_79599164/article/details/141069522
4.即时AI即时AI是由即时设计推出的全球首款基于自然语言描述生成UI设计稿的AI工具。通过简单的文字描述,即时AI能快速生成包含矢量图层和图标的高质量UI设计稿,支持二次编辑,结构清晰,极大提升设计效率。组件级识别能力让设计更具灵活性和可维护性。 即时AI的主要功能特点 https://91yuanmawu.cn/sites/2131.html
5.UIlogo设计生成器UIlogo免费设计在线生成免费制作你的uilogo设计 1.选择 只需输入品牌名称,让我们的AI设计引擎自动生成无限logo创意供您挑选。 2.编辑 找到喜欢的logo创意后轻松在线编辑logo布局,字体和logo图标。我们的智能配色功能还能为您搭配不同的logo配色直到发现您的完美logo设计。 3.下载 https://www.logosc.cn/biaozhi/sUI
6.基于ElementUI表单设计及代码生成器介绍Element UI表单设计及代码生成器,可将生成的代码直接运行在基于Element的vue项目中;也可导出JSON表单,使用配套的解析器将JSON解析成真实的表单。https://www.ymama.net/news/txtlist_i1964v.html
7.AI人工智能语音生成器移动应用APPUI设计figma套件资源包FreeUID-UI设计资源分享,提供各种UI设计资源下载,UI动效资源下载,UI PSD源文件,UI Sketch源文件,AE动效源文件,运营设计源文件,插画设计源文件,各种类APP设计源文件,各种手机样机模板,mockup源文件,平面VI模板,产品包装模板等。2024年最新UI设计源文件下载。 https://www.freeuid.com/14899.html
8.设计指南资讯免费的图案生成器丨6个在线图案神器推荐! 了解更多> 作为一名UI/UX设计师,在设计网站、App或其他创意作品时,我们都需要大量的图案元素来点缀页面。 但是自主设计图案又需要耗费大量时间和精力,这时候合适的图案生成网站就成为我们的设计助手。 下面推荐几个强大的图案生成网站,它们提供海量免费且可商用的图案下载。无http://ui.marklion.cn/article/7e7/12/article-34ff1496b2407f2d.shtml
9.游戏ui生成器素材网站图片免费下载共有225862个游戏ui生成器相关内容为您呈现 1 AI练习4 上色练习 形状生成器 136 月十二 原创AI梦境绘画界面设计 3 没头王子 徽章设计 UI | Midjourney辅助生成 Z317153463 七彩糯米饭 美女与汽车的comfy UI生成 14 雪中月雨 色块背景Logo设计 | uBrand Logo生成器在线编辑生成 https://www.zcool.com.cn/tag/ZNDgwODQ4MA==.html
10.formgenerator——ElementUI表单设计及代码生成器form generator ——Element UI表单设计及代码生成器,程序员大本营,技术文章内容聚合第一站。https://www.pianshen.com/article/56661343858/
11.最受中国UI设计师欢迎的10大设计神器,工作效率提升99%噪音风格背景生成器 https://codepen.io/vcomics/pen/djqNrm Perlin Noise是一款噪音风格背景生成器,能生成非常酷炫的背景效果,内置很多可调的参数,如果你会编程知识,作者还提供了源码供使用者修改,无论想要什么样的噪音背景,它都可以满足你~UI设计新人学到什么程度才能接私单,如何找私单? https://www.jianshu.com/p/b93b797f5561
12.为设计师准备的渐变生成器此工具的最佳功能之一可能是你可以对所创建渐变的每个细节的高级控制。 代码在屏幕下方生成,以便你在工作时可以看到所有代码。 3.UI Gradients UI Gradients是一个全屏渐变生成器。 看到全尺寸颜色渐变的好处是,你可以真实地看到它们运用到你实际设计项目的外观。 https://www.clhweb.com/news/tech/20180831/css_gradient_generators.html
13.阿里又整活!出了款超牛的设计工具!▍空间字体动效生成器 Space type generator:空间字体动效生成器 推荐理由: 一款空间字体动效生成器。包含了 14 种字体特效和 6 种预设样式,并且有不同的颜色、字体、视角、角度等调节选项。可以做PPT或者海报的时候用,比较不错。 网址链接:http://spacetypegenerator.com https://maimai.cn/article/detail?fid=1781247783&efid=EU56T093wMwbiFKNFsaztw
14.我收藏的这100+个”杀手级“网站,你用过几个?8、shadows - box-shadow 生成器 网址:shadows 9、Key - JS的键盘事件 网址:Key.js JavaScript键盘事件键代码和键标识符,按任何一个键都可以得到JavaScript的keydown、keypress和keyup键,代码,其中,keyCode和其他属性。 10、globster - 文件路径 网址:globster https://developer.aliyun.com/article/1248577
15.Form表单js设计器生成器Form表单js设计器生成器评分: 利用js生成设计表单,表单为Bootstrap风格 form 设计器 js2016-04-24 上传大小:216KB 所需:50积分/C币 基于Layui的表单设计器设计源码 表单设计器 - 基于Layui开发,包含107个文件,如GIF、JS、CSS、PNG、HTML、YML、MD、PNG、LICENSE和EOT等。该项目是一个基于Layui的表单设计器,https://www.iteye.com/resource/u011743751-9501384
16.Neumorphism.ioNeumorphism.io是一个CSS阴影生成器,专门用于创建新拟物化(Neumorphism)或软UI(Soft UI)风格的设计。这个工具非常适合快速实现新拟物化UI效果,因为它比Photoshop或Sketch上 Neumorphism.io简介: Neumorphism.io是一个CSS阴影生成器,专门用于创建新拟物化(Neumorphism)或软UI(Soft UI)风格的设计。新拟物化是https://pidoutv.com/sites/17373.html
17.Peeps3D头像制作:是由UI8团队制作的交互式在线3D头像生成器Peeps Avatar Builder是由UI8.net开发的一款头像生成工具。 Peeps有哪些功能? 1. 提供多种头像元素:Peeps Avatar Builder提供了丰富的头像元素,包括不同的发型、脸型、眼睛、嘴巴、眉毛等,用户可以根据自己的喜好自由组合这些元素,创建出独一无二的头像。 https://www.huocheng.love/article/index.php?c=show&id=4021
18./formElement UI表单设计及代码生成器,可将生成的代码直接运行在基于Element的vue项目中;也可导出JSON表单,使用配套的解析器将JSON解析成真实的表单。 【国内预览地址】 【国际预览地址】 【github仓库】 【码云仓库】 配套vscode插件 配套JSON解析器 文档 el-dialog的封装与调用 https://github.com/JakHuang/form-generator
19.Hypeless.ioAI设计生成器网站 AI 设计生成器 2人收藏 Hypeless.io 工具信息 Hypeless.io 是什么? Hypeless.io 是一家为企业、品牌和应用提供设计与开发的平台。他们专注于AI生成品牌、Figma转为网站、构建设计系统以及UI套件等特定服务。 Hypeless.io 有哪些功能? 提供固定价格的设计和开发服务 创建Figma转为网站的设计 构建设计http://xuntutu.com/site/hypeless
20.设计神器Chat免费在线的模拟对话框消息生成器 在UI 设计师、视频剪辑师、动效设计师的日常工作中,可能会接到一种设计需求,就是「用户聊天界面」的演示图,用来放在一些特定的场景中去营造生动的沟通效果,这些演示图可能需要视频、可能需要 GIF。就算是制作成 JPG,也得需要先构建组件,何况是视频、GIF 这两种更麻烦的文件类型。https://uiiiuiii.com/software/548742.html
21.毛笔字在线生成器毛笔字体转换器毛笔书法楷书作品字帖真好艺术字网最初是为了黑板报毛笔字体参考而创造,艺术字体在线生成,艺术字体转换,艺术字体设计,在线艺术字体转换器,毛笔楷书字帖,毛笔字入门,毛笔字体在线生成,毛-梦想导航https://nav.dreamthere.cn/site/index/888846
22.可定制的渐变SVG波形生成器码力全开可定制的渐变SVG波形生成器 大家好,我是独立开发者Larry,推荐一个可定制的渐变SVG波形生成器SVG Wave,它可以为UI和网站设计生成很棒的 SVG 波形,支持自定义波浪的图层、颜色、波峰和高度等等,可以导出SVG和PNG格式。 Svg Wave 网址:https://svgwave.inhttps://www.maliquankai.com/2022/03/05/2022-03-05-svgwave/
23.logo图标设计生成器logo图标设计生成器原文直译: UX/用户界面设计中不断增长的创新领域 logo设计全方位指南:请启用Java Script语言 logo设计全面指南:你需要知道的一切技术每年都影响着UX/UI设计,并且增长是巨大的。然而,所有这些都是受欢迎的,因为88%的人不会回到用户体验不好的网站。 http://www.logo-logos.cn/news/20230307161731.html
24.人工智能AI可以将UI设计图自动生成跨平台代码,前端工程师福利使用CUDA、Tesla K80 GPU和cuDNN与TensorFlow 深度学习框架,他们训练有素的模型将驱使屏幕抓取UI设计,评估图片 - 各种图标、功能和布局,然后根据素材生成代码。 跟所有机器学习一样,研究者们需要用手头的任务实例去训练模型。但与其他任务不同的是,它需要做的不是从图片中生成图片,也不是把文本转换成文本,这个算法https://www.zhuanzhi.ai/document/80b5bfb6f2065c8970eeddea7998bb3f
25.奈思设计导航草料二维码 专业二维码在线生成平台 ico在线生成 在线快速生成网站ico工具 JPEGmini 在线JPEG图片压缩 百度脑图 在线思维导图工具 第九工厂 艺术二维码制作 UI Parade 在线UI 设计工具 Vecteezy 免费矢量素材搜索下载、SVG在线设计工具 Hero Patterns 可以自定义颜色的SVG格式背景图案生成器 CSS Button Generator CSS3按钮在https://nav.niceui.cn/
26.免费logo设计在线生成器免费logo设计生成器logo生成器多特软件园为您整理了多款适合免费logo设计在线生成器,在多特您能下载多款正规的、无毒软件,在这里安卓版苹果版等应用应有https://www.duote.com/zt/mfljzxscq/
27.UniDreamAI动漫艺术生成器评测在iPad 上使用 UniDream AI 艺术生成器,轻松创建动漫风格的艺术作品。 在今天的文章中,我们将探讨一款适用于 iPad 的一体化艺术应用程序 UniDream。这款应用程序不仅仅能把文AI 艺术生成器,AIGC资讯,AI漫画UIED用户体验学习平台https://www.uied.cn/49577.html
28.ProcessOn思维导图流程图在线画思维导图流程图ProcessOn是一款专业在线作图工具和知识分享社区,提供AI生成思维导图流程图。支持思维导图、流程图、组织结构图、网络拓扑图、鱼骨图、UML图等多种图形,同时可实现人与人之间的实时协作和共享,提升团队工作效率。https://www.processon.com/
29.布局算法篇设计稿生成代码Imgcook3.0系列GAN中有两个组件:生成器G(Generative Model)和判别器D(Discriminative Model),生成器负责生成符合真实数据分布的合成数据,判别器负责判别数据的真假,二者互相博弈,互相提升各自的能力。由于深度卷积神经网络可以拟合任意函数,故常被应用于生成器和判别器设计中。GAN的原理框架如下:https://blog.51cto.com/u_15098009/2612518
30.HUDGE1850+UIHUD高科技元素生成器V2.1光影7号模板信息: 版本:After Effects CC 分辨率:可改变分辨率 大小:2.68GB 插件:无需第三方插件 音频:不包含音频文件 特色:包含1850+高科技元素,38种以上的类别,100多种高质量的音效,颜色控制,易于修改,易于定制,循环动画,通用表达式 编号:26509230 未经允许不得转载:光影7号?HUDGE 1850+UI HUD高科技元素生成器V2.1http://www.video7cg.com/35396/
31.免费在线AI照片编辑器图像生成器和设计工具使用Pixlr 的在线照片编辑和设计工具发挥创意。包括 AI 图像生成器、批量编辑器、动画设计、增强器等。立即免费试用!https://pixlr.com/cn/