Help
RSS
API
Feed
Maltego
Contact
Domain > blog.cutterman.cn
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2022-06-03
114.80.187.9
(
ClassC
)
2025-10-04
61.160.192.101
(
ClassC
)
Port 80
HTTP/1.1 200 OKServer: TengineContent-Type: text/htmlContent-Length: 31366Connection: keep-aliveDate: Sat, 04 Oct 2025 18:57:54 GMTx-oss-request-id: 68E16E3277F3A938367F5F3Cx-oss-cdn-auth: successAccept-Ranges: bytesx-oss-object-type: Normalx-oss-storage-class: StandardContent-MD5: ZMt5ezQYQQLeXmRceG5dKwx-oss-server-time: 42Via: cache74.l2cn3022120,120,304-0,H, cache66.l2cn3022122,0, kunlun4.cn6425134,136,200-0,H, kunlun4.cn6425137,0Vary: Accept-EncodingETag: 64CB797B34184102DE5E645C786E5D2BLast-Modified: Wed, 05 Feb 2025 02:47:57 GMTx-oss-hash-crc64ecma: 13345357841309176720Age: 0Ali-Swift-Global-Savetime: 1759604274X-Cache: HIT TCP_REFRESH_HIT dirn:11:420652219X-Swift-SaveTime: Sat, 04 Oct 2025 18:57:54 GMTX-Swift-CacheTime: 3600Timing-Allow-Origin: *EagleId: 3da0c00e17596042747772108e !doctype html>html langzh>head>meta charsetutf-8>meta nameviewport contentwidthdevice-width, initial-scale1, maximum-scale1>meta>title>Adobe Photoshop插件开发/title>link relmanifest href/manifest.json>meta nameapplication-name contentAdobe Photoshop插件开发>meta namemsapplication-TileImage content/assets/img/favicon1.ico>meta nameapple-mobile-web-app-capable contentyes>meta nameapple-mobile-web-app-title contentAdobe Photoshop插件开发>meta nameapple-mobile-web-app-status-bar-style contentdefault>meta namedescription content设计软件的插件开发教程,包括photoshop, xd, sketch, figma等>meta propertyog:type contentblog>meta propertyog:title contentAdobe Photoshop插件开发>meta propertyog:url contenthttps://blog.cutterman.cn/>meta propertyog:site_name contentAdobe Photoshop插件开发>meta propertyog:description content设计软件的插件开发教程,包括photoshop, xd, sketch, figma等>meta propertyog:locale contentzh_CN>meta propertyog:image contenthttps://blog.cutterman.cn/img/og_image.png>meta propertyarticle:author contentxiaoqiang>meta propertyarticle:tag contentphotoshop插件开发,CEP插件开发, sketch插件开发, xd插件开发, Adobe, extensionscript, photoshop plugin>meta propertytwitter:card contentsummary>meta propertytwitter:image:src contenthttps://blog.cutterman.cn/img/og_image.png>script typeapplication/ld+json>{@context:https://schema.org,@type:BlogPosting,mainEntityOfPage:{@type:WebPage,@id:https://blog.cutterman.cn},headline:Adobe Photoshop插件开发,image:https://blog.cutterman.cn/img/og_image.png,author:{@type:Person,name:xiaoqiang},publisher:{@type:Organization,name:Adobe Photoshop插件开发,logo:{@type:ImageObject,url:https://blog.cutterman.cn/assets/img/logo2.png}},description:设计软件的插件开发教程,包括photoshop, xd, sketch, figma等}/script>link relicon href/assets/img/favicon1.ico>link relstylesheet hrefhttps://use.fontawesome.com/releases/v6.0.0/css/all.css>link data-pjax relstylesheet hrefhttps://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/atom-one-light.min.css>link relstylesheet hrefhttps://fonts.font.im/css2?familyUbuntu:wght@400;600&familySource+Code+Pro>link data-pjax relstylesheet href/css/default.css>style>body>.footer,body>.navbar,body>.section{opacity:0}/style>!--!-->!--!-->link relstylesheet hrefhttps://cdnjs.cloudflare.com/ajax/libs/lightgallery/1.10.0/css/lightgallery.min.css>link relstylesheet hrefhttps://cdnjs.cloudflare.com/ajax/libs/justifiedGallery/3.8.1/css/justifiedGallery.min.css>script src//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js defer>/script>style>.pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pace-inactive{display:none}.pace .pace-progress{background:#3273dc;position:fixed;z-index:2000;top:0;right:100%;width:100%;height:2px}/style>script srchttps://cdnjs.cloudflare.com/ajax/libs/pace/1.2.4/pace.min.js>/script>!-- hexo injector head_end start -->script> (function () { function switchTab() { if (!location.hash) { return; } const id # + CSS.escape(location.hash.substring(1)); const $tabMenu document.querySelector(`.tabs ahref${id}`); if (!$tabMenu) { return; } const $tabMenuContainer $tabMenu.parentElement.parentElement; Array.from($tabMenuContainer.children).forEach($menu > $menu.classList.remove(is-active)); Array.from($tabMenuContainer.querySelectorAll(a)) .map($menu > document.getElementById($menu.getAttribute(href).substring(1))) .forEach($content > $content.classList.add(is-hidden)); if ($tabMenu) { $tabMenu.parentElement.classList.add(is-active); } const $activeTab document.querySelector(id); if ($activeTab) { $activeTab.classList.remove(is-hidden); } } switchTab(); window.addEventListener(hashchange, switchTab, false); })(); /script>!-- hexo injector head_end end -->meta namegenerator contentHexo 7.3.0>/head>body classis-2-column>nav classnavbar navbar-main>div classcontainer navbar-container>div classnavbar-brand justify-content-center>a classnavbar-item navbar-logo href/>img src/assets/img/logo2.png altAdobe Photoshop插件开发 height28>/a>/div>div classnavbar-menu>div classnavbar-start>a classnavbar-item is-active href/>首页/a>a classnavbar-item href/archives>文章列表/a>a classnavbar-item href/tags>标签/a>a classnavbar-item href/resources>资源/a>a classnavbar-item href/reference>备忘清单/a>a classnavbar-item href/about>关于作者/a>/div>div classnavbar-end>a classnavbar-item search title搜索 hrefjavascript:;>i classfas fa-search>/i>/a>/div>/div>/div>/nav>section classsection>div classcontainer>div classcolumns>div classcolumn order-2 column-main is-8-tablet is-8-desktop is-8-widescreen>div classcard>div classcard-image>a classimage is-7by3 href/2025/02/02/uxp-run-jsx/>img classfill src/assets/gallery/covers/uxp-run-jsx.png alt【UXP教程-6】插件面板实战-运行JSX代码>/a>/div>article classcard-content article rolearticle>div classarticle-meta is-size-7 is-uppercase level is-mobile>div classlevel-left>span classlevel-item>time dateTime2025-02-02T11:10:58.000Z title2/2/2025, 7:10:58 PM>2025-02-02/time>发表/span>span classlevel-item>time dateTime2025-02-02T12:15:03.937Z title2/2/2025, 8:15:03 PM>2025-02-02/time>更新/span>span classlevel-item>11 分钟读完 (大约1722个字)/span>/div>/div>p classtitle is-3 is-size-4-mobile>a classlink-muted href/2025/02/02/uxp-run-jsx/>【UXP教程-6】插件面板实战-运行JSX代码/a>/p>div classcontent>p>UXP是Adobe新推出(虽然也有几年了)的插件架构,不像以前CEP那样使用JSX来和宿主进行交互,UXP官方提供了对应的a target_blank relnoopener hrefhttps://developer.adobe.com/photoshop/uxp/2022/ps_reference/>photoshop-api/a>,使用起来融合性更好,更方便一些。但是你在是做CEP插件迁移的时候会发现官方提供的API寥寥无几,很多以前在JSX可以运行的能力都缺失了,虽然Adobe也意识到了这个问题,于是提供了一个叫做a target_blank relnoopener hrefhttps://developer.adobe.com/photoshop/uxp/2022/ps_reference/media/batchplay/>batch play/a>的补丁运作机制,但用起来还是非常别扭。/p>/div>a classarticle-more button is-small is-size-7 href/2025/02/02/uxp-run-jsx/#more>阅读更多/a>/article>/div>div classcard>div classcard-image>a classimage is-7by3 href/2025/01/27/uxp-layout-start/>img classfill src/assets/gallery/covers/wallhaven-9dq1xk.png alt【UXP教程-5】插件面板实战-界面布局和功能开发>/a>/div>article classcard-content article rolearticle>div classarticle-meta is-size-7 is-uppercase level is-mobile>div classlevel-left>span classlevel-item>time dateTime2025-01-27T02:56:50.000Z title1/27/2025, 10:56:50 AM>2025-01-27/time>发表/span>span classlevel-item>time dateTime2025-01-27T14:28:08.598Z title1/27/2025, 10:28:08 PM>2025-01-27/time>更新/span>span classlevel-item>12 分钟读完 (大约1764个字)/span>/div>/div>p classtitle is-3 is-size-4-mobile>a classlink-muted href/2025/01/27/uxp-layout-start/>【UXP教程-5】插件面板实战-界面布局和功能开发/a>/p>div classcontent>p>大家好,教程更新割了整整一年之后,我又回来了。现在是2025年春节假期期间,实在有点闲着无聊,就打算把我的CEP插件迁移到UXP,顺便把教程更新一下。从昨天开始重新去翻官方的文档,发现一年多过去了,UXP的功能支持没有什么新的变化,文档也没有什么新的内容,Adobe爸爸的更新速度真是让人捉急。/p>p>今天借着把我的切图插件从CEP迁移到UXP的契机,给大家逐步介绍一下我的整个UXP面板开发过程,期间我会穿插一些UXP的关键开发知识,让大家能够更加系统地了解UXP的开发。/p>/div>a classarticle-more button is-small is-size-7 href/2025/01/27/uxp-layout-start/#more>阅读更多/a>/article>/div>div classcard>article classcard-content article rolearticle>div classarticle-meta is-size-7 is-uppercase level is-mobile>div classlevel-left>span classlevel-item>time dateTime2023-11-02T00:49:48.000Z title11/2/2023, 8:49:48 AM>2023-11-02/time>发表/span>span classlevel-item>time dateTime2023-11-04T10:46:39.507Z title11/4/2023, 6:46:39 PM>2023-11-04/time>更新/span>span classlevel-item>30 分钟读完 (大约4477个字)/span>/div>/div>p classtitle is-3 is-size-4-mobile>a classlink-muted href/2023/11/02/plugin-safety/>【CEP 专题】 插件的安全防护/a>/p>div classcontent>p> 首先和各位小伙伴道个歉,本博客断更了有半年之久。去年我成功的考上了研究生,然后从今年9月份开始,每周一到周五要上班,周六周日要去上课,基本就是全天候不停歇,整个人处于焦麻的状态。同时在今天 6 月份的时候,工作职责上有一些变更,导致主业更忙了,就很难分出心思来写博客了。/p>p>img src/assets/gallery/contents/FINE_IMG.jpg alt录取通知书>/p>p>不过经过最近的一些主动调整,重新梳理了日常工作作息,偶尔也能抽出一丢丢时间,静下心来继续写一些东西,沉淀和总结,也是促进成长重要的一环。Anyway,胡汉三我又杀回来啦!/p>/div>a classarticle-more button is-small is-size-7 href/2023/11/02/plugin-safety/#more>阅读更多/a>/article>/div>div classcard>article classcard-content article rolearticle>div classarticle-meta is-size-7 is-uppercase level is-mobile>div classlevel-left>span classlevel-item>time dateTime2023-04-07T02:14:18.000Z title4/7/2023, 10:14:18 AM>2023-04-07/time>发表/span>span classlevel-item>time dateTime2023-04-07T02:20:29.068Z title4/7/2023, 10:20:29 AM>2023-04-07/time>更新/span>span classlevel-item>几秒读完 (大约109个字)/span>/div>/div>p classtitle is-3 is-size-4-mobile>a classlink-muted href/2023/04/07/uxp-training-1/>【UXP教程-4】插件面板实战-登录界面开发/a>/p>div classcontent>p>这篇教程开始,我会借着将CEP的切图插件迁移到UXP的契机,带大家完整地走完开发一个UXP插件的过程。/p>p>完整的视频在这里:a target_blank relnoopener hrefhttps://www.bilibili.com/video/BV1c84y1T7H3/>https://www.bilibili.com/video/BV1c84y1T7H3//a>/p>p>欢迎大家点赞关注转发!/p>p>有疑问或者想进一步交流的小伙伴,微信扫码进群讨论/p>img src/assets/img/wx-group.jpg width200 height200 />/div>/article>/div>div classcard>div classcard-image>a classimage is-7by3 href/2023/03/04/uxp-bootstrap/>img classfill src/assets/gallery/covers/wallhaven-eod2zl.jpg alt【UXP教程-3】 插件脚手架搭建>/a>/div>article classcard-content article rolearticle>div classarticle-meta is-size-7 is-uppercase level is-mobile>div classlevel-left>span classlevel-item>time dateTime2023-03-04T14:32:37.000Z title3/4/2023, 10:32:37 PM>2023-03-04/time>发表/span>span classlevel-item>time dateTime2023-03-07T06:34:27.341Z title3/7/2023, 2:34:27 PM>2023-03-07/time>更新/span>span classlevel-item>18 分钟读完 (大约2728个字)/span>/div>/div>p classtitle is-3 is-size-4-mobile>a classlink-muted href/2023/03/04/uxp-bootstrap/>【UXP教程-3】 插件脚手架搭建/a>/p>div classcontent>p>上篇教程我们介绍了如何通过官方提供的Samples来快速跑出来一个hello world插件面板,这样虽然可以让我们快速启动开发,直接在样例的基础上修改我们需要的代码就可以了。但是官方提供的样例,依然还是非常的简陋,提供的配置大体也就是能把项目跑起来而已,而我们实际的插件开发中还会涉及到文件监听、拷贝、混淆、加密打包等等任务,那我们自己去完成一个code>脚手架/code>的搭建就很有必要了。/p>p>这篇文章我来介绍一下如何搭建一个脚手架,让我们的插件开发更加的规范化。/p>/div>a classarticle-more button is-small is-size-7 href/2023/03/04/uxp-bootstrap/#more>阅读更多/a>/article>/div>div classcard>div classcard-image>a classimage is-7by3 href/2023/02/26/cep-panel-update/>img classfill src/assets/gallery/covers/clint-patterson--jCY4oEMA3o-unsplash.jpg alt【CEP专题】聊聊插件怎么更新>/a>/div>article classcard-content article rolearticle>div classarticle-meta is-size-7 is-uppercase level is-mobile>div classlevel-left>span classlevel-item>time dateTime2023-02-26T07:19:39.000Z title2/26/2023, 3:19:39 PM>2023-02-26/time>发表/span>span classlevel-item>time dateTime2023-03-07T06:49:45.785Z title3/7/2023, 2:49:45 PM>2023-03-07/time>更新/span>span classlevel-item>25 分钟读完 (大约3753个字)/span>/div>/div>p classtitle is-3 is-size-4-mobile>a classlink-muted href/2023/02/26/cep-panel-update/>【CEP专题】聊聊插件怎么更新/a>/p>div classcontent>p>之前在群里有很多小伙伴在讨论插件更新这个话题,我自己在插件开发这么些年,前后也折腾过各种插件的更新方式,今天在这里做一些整理,给大家一些参考。/p>/div>a classarticle-more button is-small is-size-7 href/2023/02/26/cep-panel-update/#more>阅读更多/a>/article>/div>div classcard>div classcard-image>a classimage is-7by3 href/2023/02/19/uxp-start/>img classfill src/assets/gallery/covers/wallhaven-ymjyyd.png alt【UXP教程-2】UXP插件开发起步>/a>/div>article classcard-content article rolearticle>div classarticle-meta is-size-7 is-uppercase level is-mobile>div classlevel-left>span classlevel-item>time dateTime2023-02-19T10:09:09.000Z title2/19/2023, 6:09:09 PM>2023-02-19/time>发表/span>span classlevel-item>time dateTime2023-03-07T06:49:45.789Z title3/7/2023, 2:49:45 PM>2023-03-07/time>更新/span>span classlevel-item>8 分钟读完 (大约1250个字)/span>/div>/div>p classtitle is-3 is-size-4-mobile>a classlink-muted href/2023/02/19/uxp-start/>【UXP教程-2】UXP插件开发起步/a>/p>div classcontent>p>上篇文章我们介绍了UXP的发展历史和它的一些特性,这里我们继续介绍如何开始开发一个UXP的Hello World,学习UXP的插件的组成结构和调试工具的使用。/p>p>这篇文章的视频版本在这里a target_blank relnoopener hrefhttps://www.bilibili.com/video/BV1k54y1A7ux/>https://www.bilibili.com/video/BV1k54y1A7ux//a>,欢迎大家点赞关注。/p>/div>a classarticle-more button is-small is-size-7 href/2023/02/19/uxp-start/#more>阅读更多/a>/article>/div>div classcard>div classcard-image>a classimage is-7by3 href/2023/01/15/uxp-introduction/>img classfill src/assets/gallery/covers/cc-hero.jpg alt【UXP教程-1】UXP简介>/a>/div>article classcard-content article rolearticle>div classarticle-meta is-size-7 is-uppercase level is-mobile>div classlevel-left>span classlevel-item>time dateTime2023-01-15T08:01:53.000Z title1/15/2023, 4:01:53 PM>2023-01-15/time>发表/span>span classlevel-item>time dateTime2023-03-07T06:49:45.789Z title3/7/2023, 2:49:45 PM>2023-03-07/time>更新/span>span classlevel-item>17 分钟读完 (大约2559个字)/span>/div>/div>p classtitle is-3 is-size-4-mobile>a classlink-muted href/2023/01/15/uxp-introduction/>【UXP教程-1】UXP简介/a>/p>div classcontent>p>各位小伙伴大家好,CEP的教程内容已经基本结束,接下来我会在把自己插件迁移到UXP的同时,开始写UXP的开发教程,教程依旧秉着高质量输出的基本原则,力求系统且内容详实,希望能够帮助到大家。/p>p>这篇教程的视频地址在这里:a target_blank relnoopener hrefhttps://www.bilibili.com/video/BV1EA411k7wD/?vd_source4a88b104c3028984af0004e35f229635>Adobe UXP插件开发中文教程 - 1. 简介/a>,欢迎大家点赞、关注、转发。/p>h2 id1-Adobe插件开发的演进>a href#1-Adobe插件开发的演进 classheaderlink title1. Adobe插件开发的演进>/a>1. Adobe插件开发的演进/h2>p>在回答strong>UXP是什么/strong>之前,我们先来看看Adobe插件开发的演进过程。在很久很久以前,基于Adobe的扩展,只提供了原生C++的方式,后来在此基础上提供了基于Javascript引擎的脚本扩展,你可以通过写一些js代码来调用宿主API来操作Ps,有过相关经验的小伙伴应该都用过它对应的古老编辑器strong>Adobe ExtendScript Toolkit/strong>/p>/div>a classarticle-more button is-small is-size-7 href/2023/01/15/uxp-introduction/#more>阅读更多/a>/article>/div>div classcard>div classcard-image>a classimage is-7by3 href/2022/12/31/hidden-panel/>img classfill src/assets/gallery/covers/invisible.jpg alt【CEP专题】 隐藏面板的妙用>/a>/div>article classcard-content article rolearticle>div classarticle-meta is-size-7 is-uppercase level is-mobile>div classlevel-left>span classlevel-item>time dateTime2022-12-31T03:17:03.000Z title12/31/2022, 11:17:03 AM>2022-12-31/time>发表/span>span classlevel-item>time dateTime2023-03-07T06:49:45.786Z title3/7/2023, 2:49:45 PM>2023-03-07/time>更新/span>span classlevel-item>16 分钟读完 (大约2379个字)/span>/div>/div>p classtitle is-3 is-size-4-mobile>a classlink-muted href/2022/12/31/hidden-panel/>【CEP专题】 隐藏面板的妙用/a>/p>div classcontent>p>大家好,我又回来了。我已经考完试了,下一步就是等出成绩,等录取通知书啦。/p>p>接下来我会继续回归系列教程的更新,以专题的形式补充一些我之前没有讲到的内容。同时预计春节后,会开始写UXP部分的教程,敬请期待。/p>p>之前有小伙伴反馈文章的形式对一些操作性的内容不太友好,我接下来会试着同时发布文章和视频的方式,视频会发布到B站和知乎,欢迎大家点赞关注转发。这篇文章的视频链接在这里a target_blank relnoopener hrefhttps://www.bilibili.com/video/BV1JK411q7Fp/?share_sourcecopy_web&vd_source70bd80852f7201f0df43faac4f0492dc>【CEP教程】隐藏面板的妙用】/a>,视频和文章的侧重点不一样,建议结合来观看。/p>p>这篇专题文章给大家介绍CEP插件中一种独特的面板形态 - 隐藏面板,以及它可以用来完成的一些有趣的功能。在某些情况下对我们非常有帮助。/p>/div>a classarticle-more button is-small is-size-7 href/2022/12/31/hidden-panel/#more>阅读更多/a>/article>/div>div classcard>div classcard-image>a classimage is-7by3 href/2022/12/01/new-debug-way/>img classfill src/assets/gallery/covers/debug-1024x646.jpeg alt【分享】 一种新的插件调试方法>/a>/div>article classcard-content article rolearticle>div classarticle-meta is-size-7 is-uppercase level is-mobile>div classlevel-left>span classlevel-item>time dateTime2022-12-01T06:37:17.000Z title12/1/2022, 2:37:17 PM>2022-12-01/time>发表/span>span classlevel-item>time dateTime2023-03-07T06:49:45.789Z title3/7/2023, 2:49:45 PM>2023-03-07/time>更新/span>span classlevel-item>10 分钟读完 (大约1538个字)/span>/div>/div>p classtitle is-3 is-size-4-mobile>a classlink-muted href/2022/12/01/new-debug-way/>【分享】 一种新的插件调试方法/a>/p>div classcontent>p>这篇文章来自一个小伙伴的投稿。他一直想实现一种机制,可以在插件面板打开的时候,就能自动打开devTool进行调试,提升插件开发效率。我们针对这个话题在微信里头交流多回/p>img src/assets/gallery/contents/Snip20221201_7.png width400 />p>关于如何调试CEP面板,我之前在a href/2021/10/17/scripting-tool/>【CEP教程-4】开发工具选择和调试/a> 推荐使用旧版本的chromium来进行debug,但显然无法满足他的诉求,于是他经过各种苦思冥想、学习专研最终摸索出了更智能的调试方法,我钦佩他这种执着的问题解决精神,于是和他交流将这个过程记录下来,分享给大家。/p>/div>a classarticle-more button is-small is-size-7 href/2022/12/01/new-debug-way/#more>阅读更多/a>/article>/div>nav classpagination rolenavigation aria-labelpagination>div classpagination-previous is-invisible is-hidden-mobile>a href/page/0/>上一页/a>/div>div classpagination-next>a href/page/2/>下一页/a>/div>ul classpagination-list is-hidden-mobile>li>a classpagination-link is-current href/>1/a>/li>li>a classpagination-link href/page/2/>2/a>/li>li>a classpagination-link href/page/3/>3/a>/li>/ul>/nav>/div>!--!-->div classcolumn column-right is-4-tablet is-4-desktop is-4-widescreen order-3>div classcard widget data-typeprofile>div classcard-content>nav classlevel>div classlevel-item has-text-centered flex-shrink-1>div>figure classimage is-128x128 mx-auto mb-2>img classavatar src/assets/img/me.png altxiaoqiang>/figure>p classtitle is-size-4 is-block styleline-height:inherit;>xiaoqiang/p>p classis-size-6 is-block>Developer Engineer/p>p classis-size-6 is-flex justify-content-center>i classfas fa-map-marker-alt mr-1>/i>span>Beijing/span>/p>/div>/div>/nav>nav classlevel is-mobile>div classlevel-item has-text-centered is-marginless>div>p classheading>文章/p>a href/archives/>p classtitle>30/p>/a>/div>/div>div classlevel-item has-text-centered is-marginless>div>p classheading>分类/p>a href/categories/>p classtitle>0/p>/a>/div>/div>div classlevel-item has-text-centered is-marginless>div>p classheading>标签/p>a href/tags/>p classtitle>8/p>/a>/div>/div>/nav>div classlevel>a classlevel-item button is-primary is-rounded hrefhttps://github.com/emptykid target_blank relme noopener>关注我/a>/div>div classlevel is-mobile is-multiline>a classlevel-item button is-transparent is-marginless target_blank relme noopener titleGithub hrefhttps://github.com/emptykid>i classfab fa-github>/i>/a>a classlevel-item button is-transparent is-marginless target_blank relme noopener titleFacebook href/about>i classfab fa-weixin>/i>/a>a classlevel-item button is-transparent is-marginless target_blank relme noopener titleTwitter href/about>i classfab fa-qq>/i>/a>a classlevel-item button is-transparent is-marginless target_blank relme noopener titleDribbble hrefhttps://weibo.com/u/5065292041>i classfab fa-weibo>/i>/a>/div>/div>/div>!--!-->div classcard widget data-typelinks>div classcard-content>div classmenu>h3 classmenu-label>链接/h3>ul classmenu-list>li>a classlevel is-mobile hrefhttps://www.cutterman.cn target_blank relnoopener>span classlevel-left>span classlevel-item>Cutterman/span>/span>span classlevel-right>span classlevel-item tag>www.cutterman.cn/span>/span>/a>/li>li>a classlevel is-mobile hrefhttps://www.psmirror.cn target_blank relnoopener>span classlevel-left>span classlevel-item>Design Mirror/span>/span>span classlevel-right>span classlevel-item tag>www.psmirror.cn/span>/span>/a>/li>/ul>/div>/div>/div>!--!-->div classcard widget data-typerecent-posts>div classcard-content>h3 classmenu-label>最新文章/h3>article classmedia>div classmedia-content>p classdate>time dateTime2025-02-02T11:10:58.000Z>2025-02-02/time>/p>p classtitle>a href/2025/02/02/uxp-run-jsx/>【UXP教程-6】插件面板实战-运行JSX代码/a>/p>/div>/article>article classmedia>div classmedia-content>p classdate>time dateTime2025-01-27T02:56:50.000Z>2025-01-27/time>/p>p classtitle>a href/2025/01/27/uxp-layout-start/>【UXP教程-5】插件面板实战-界面布局和功能开发/a>/p>/div>/article>article classmedia>div classmedia-content>p classdate>time dateTime2023-11-02T00:49:48.000Z>2023-11-02/time>/p>p classtitle>a href/2023/11/02/plugin-safety/>【CEP 专题】 插件的安全防护/a>/p>/div>/article>article classmedia>div classmedia-content>p classdate>time dateTime2023-04-07T02:14:18.000Z>2023-04-07/time>/p>p classtitle>a href/2023/04/07/uxp-training-1/>【UXP教程-4】插件面板实战-登录界面开发/a>/p>/div>/article>article classmedia>div classmedia-content>p classdate>time dateTime2023-03-04T14:32:37.000Z>2023-03-04/time>/p>p classtitle>a href/2023/03/04/uxp-bootstrap/>【UXP教程-3】 插件脚手架搭建/a>/p>/div>/article>/div>/div>div classcard widget data-typetags>div classcard-content>div classmenu>h3 classmenu-label>标签/h3>div classfield is-grouped is-grouped-multiline>div classcontrol>a classtags has-addons href/tags/Action-Manager/>span classtag>Action Manager/span>span classtag>3/span>/a>/div>div classcontrol>a classtags has-addons href/tags/CEP%E6%8F%92%E4%BB%B6/>span classtag>CEP插件/span>span classtag>22/span>/a>/div>div classcontrol>a classtags has-addons href/tags/PS%E6%8F%92%E4%BB%B6/>span classtag>PS插件/span>span classtag>1/span>/a>/div>div classcontrol>a classtags has-addons href/tags/PS%E6%8F%92%E4%BB%B6%E5%BC%80%E5%8F%91/>span classtag>PS插件开发/span>span classtag>1/span>/a>/div>div classcontrol>a classtags has-addons href/tags/UXP%E6%8F%92%E4%BB%B6/>span classtag>UXP插件/span>span classtag>4/span>/a>/div>div classcontrol>a classtags has-addons href/tags/photoshop/>span classtag>photoshop/span>span classtag>29/span>/a>/div>div classcontrol>a classtags has-addons href/tags/uxp%E6%8F%92%E4%BB%B6/>span classtag>uxp插件/span>span classtag>2/span>/a>/div>div classcontrol>a classtags has-addons href/tags/%E9%9A%8F%E7%AC%94/>span classtag>随笔/span>span classtag>1/span>/a>/div>/div>/div>/div>/div>/div>/div>/div>/section>footer classfooter>div classcontainer>div classlevel>div classlevel-start>a classfooter-logo is-block mb-2 href/>img src/assets/img/logo2.png altAdobe Photoshop插件开发 height28>/a>p classis-size-7>span>© 2025 xiaoqiang/span> Powered by a hrefhttps://hexo.io/ target_blank relnoopener>Hexo/a> & a hrefhttps://github.com/ppoffice/hexo-theme-icarus target_blank relnoopener>Icarus/a>br>span idbusuanzi_container_site_uv>共span idbusuanzi_value_site_uv>0/span>个访客/span>/p>/div>div classlevel-end>div classfield has-addons>p classcontrol>a classbutton is-transparent is-large target_blank relnoopener titleCreative Commons hrefhttps://creativecommons.org/>i classfab fa-creative-commons>/i>/a>/p>p classcontrol>a classbutton is-transparent is-large target_blank relnoopener titleAttribution 4.0 International hrefhttps://creativecommons.org/licenses/by/4.0/>i classfab fa-creative-commons-by>/i>/a>/p>p classcontrol>a classbutton is-transparent is-large target_blank relnoopener titleDownload on GitHub hrefhttps://github.com/ppoffice/hexo-theme-icarus>i classfab fa-github>/i>/a>/p>/div>/div>/div>/div>/footer>script srchttps://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js>/script>script srchttps://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment-with-locales.min.js>/script>script srchttps://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js defer>/script>script>moment.locale(zh-cn);/script>script>var IcarusThemeSettings { article: { highlight: { clipboard: true, fold: unfolded } } };/script>script data-pjax src/js/column.js>/script>script src/js/animation.js>/script>a idback-to-top title回到顶端 hrefjavascript:;>i classfas fa-chevron-up>/i>/a>script data-pjax src/js/back_to_top.js defer>/script>script srchttps://s9.cnzz.com/z_stat.php?id1280361291&web_id1280361291 async>/script>script srchttps://cdnjs.cloudflare.com/ajax/libs/lightgallery/1.10.0/js/lightgallery.min.js defer>/script>script srchttps://cdnjs.cloudflare.com/ajax/libs/justifiedGallery/3.8.1/js/jquery.justifiedGallery.min.js defer>/script>script>window.addEventListener(load, () > { if (typeof $.fn.lightGallery function) { $(.article).lightGallery({ selector: .gallery-item }); } if (typeof $.fn.justifiedGallery function) { if ($(.justified-gallery > p > .gallery-item).length) { $(.justified-gallery > p > .gallery-item).unwrap(); } $(.justified-gallery).justifiedGallery(); } });/script>!--!-->!--!-->script data-pjax src/js/main.js defer>/script>div classsearchbox>div classsearchbox-container>div classsearchbox-header>div classsearchbox-input-container>input classsearchbox-input typetext placeholder想要查找什么...>/div>a classsearchbox-close hrefjavascript:;>×/a>/div>div classsearchbox-body>/div>/div>/div>script data-pjax src/js/insight.js defer>/script>script data-pjax>document.addEventListener(DOMContentLoaded, function () { loadInsight({contentUrl:/content.json}, {hint:想要查找什么...,untitled:(无标题),posts:文章,pages:页面,categories:分类,tags:标签}); });/script>/body>/html>
Port 443
HTTP/1.1 200 OKServer: TengineContent-Type: text/htmlContent-Length: 31366Connection: keep-aliveDate: Sat, 04 Oct 2025 18:57:54 GMTx-oss-request-id: 68E16E3277F3A938367F5F3Cx-oss-cdn-auth: successAccept-Ranges: bytesx-oss-object-type: Normalx-oss-storage-class: StandardContent-MD5: ZMt5ezQYQQLeXmRceG5dKwx-oss-server-time: 42Via: cache74.l2cn3022120,120,304-0,H, cache66.l2cn3022122,0, kunlun4.cn64250,0,200-0,H, kunlun1.cn64251,0Vary: Accept-EncodingETag: 64CB797B34184102DE5E645C786E5D2BLast-Modified: Wed, 05 Feb 2025 02:47:57 GMTx-oss-hash-crc64ecma: 13345357841309176720Age: 1Ali-Swift-Global-Savetime: 1759604274X-Cache: HIT TCP_MEM_HIT dirn:-2:-2X-Swift-SaveTime: Sat, 04 Oct 2025 18:57:54 GMTX-Swift-CacheTime: 3600Timing-Allow-Origin: *EagleId: 3da0c00b17596042758168483e !doctype html>html langzh>head>meta charsetutf-8>meta nameviewport contentwidthdevice-width, initial-scale1, maximum-scale1>meta>title>Adobe Photoshop插件开发/title>link relmanifest href/manifest.json>meta nameapplication-name contentAdobe Photoshop插件开发>meta namemsapplication-TileImage content/assets/img/favicon1.ico>meta nameapple-mobile-web-app-capable contentyes>meta nameapple-mobile-web-app-title contentAdobe Photoshop插件开发>meta nameapple-mobile-web-app-status-bar-style contentdefault>meta namedescription content设计软件的插件开发教程,包括photoshop, xd, sketch, figma等>meta propertyog:type contentblog>meta propertyog:title contentAdobe Photoshop插件开发>meta propertyog:url contenthttps://blog.cutterman.cn/>meta propertyog:site_name contentAdobe Photoshop插件开发>meta propertyog:description content设计软件的插件开发教程,包括photoshop, xd, sketch, figma等>meta propertyog:locale contentzh_CN>meta propertyog:image contenthttps://blog.cutterman.cn/img/og_image.png>meta propertyarticle:author contentxiaoqiang>meta propertyarticle:tag contentphotoshop插件开发,CEP插件开发, sketch插件开发, xd插件开发, Adobe, extensionscript, photoshop plugin>meta propertytwitter:card contentsummary>meta propertytwitter:image:src contenthttps://blog.cutterman.cn/img/og_image.png>script typeapplication/ld+json>{@context:https://schema.org,@type:BlogPosting,mainEntityOfPage:{@type:WebPage,@id:https://blog.cutterman.cn},headline:Adobe Photoshop插件开发,image:https://blog.cutterman.cn/img/og_image.png,author:{@type:Person,name:xiaoqiang},publisher:{@type:Organization,name:Adobe Photoshop插件开发,logo:{@type:ImageObject,url:https://blog.cutterman.cn/assets/img/logo2.png}},description:设计软件的插件开发教程,包括photoshop, xd, sketch, figma等}/script>link relicon href/assets/img/favicon1.ico>link relstylesheet hrefhttps://use.fontawesome.com/releases/v6.0.0/css/all.css>link data-pjax relstylesheet hrefhttps://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/atom-one-light.min.css>link relstylesheet hrefhttps://fonts.font.im/css2?familyUbuntu:wght@400;600&familySource+Code+Pro>link data-pjax relstylesheet href/css/default.css>style>body>.footer,body>.navbar,body>.section{opacity:0}/style>!--!-->!--!-->link relstylesheet hrefhttps://cdnjs.cloudflare.com/ajax/libs/lightgallery/1.10.0/css/lightgallery.min.css>link relstylesheet hrefhttps://cdnjs.cloudflare.com/ajax/libs/justifiedGallery/3.8.1/css/justifiedGallery.min.css>script src//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js defer>/script>style>.pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pace-inactive{display:none}.pace .pace-progress{background:#3273dc;position:fixed;z-index:2000;top:0;right:100%;width:100%;height:2px}/style>script srchttps://cdnjs.cloudflare.com/ajax/libs/pace/1.2.4/pace.min.js>/script>!-- hexo injector head_end start -->script> (function () { function switchTab() { if (!location.hash) { return; } const id # + CSS.escape(location.hash.substring(1)); const $tabMenu document.querySelector(`.tabs ahref${id}`); if (!$tabMenu) { return; } const $tabMenuContainer $tabMenu.parentElement.parentElement; Array.from($tabMenuContainer.children).forEach($menu > $menu.classList.remove(is-active)); Array.from($tabMenuContainer.querySelectorAll(a)) .map($menu > document.getElementById($menu.getAttribute(href).substring(1))) .forEach($content > $content.classList.add(is-hidden)); if ($tabMenu) { $tabMenu.parentElement.classList.add(is-active); } const $activeTab document.querySelector(id); if ($activeTab) { $activeTab.classList.remove(is-hidden); } } switchTab(); window.addEventListener(hashchange, switchTab, false); })(); /script>!-- hexo injector head_end end -->meta namegenerator contentHexo 7.3.0>/head>body classis-2-column>nav classnavbar navbar-main>div classcontainer navbar-container>div classnavbar-brand justify-content-center>a classnavbar-item navbar-logo href/>img src/assets/img/logo2.png altAdobe Photoshop插件开发 height28>/a>/div>div classnavbar-menu>div classnavbar-start>a classnavbar-item is-active href/>首页/a>a classnavbar-item href/archives>文章列表/a>a classnavbar-item href/tags>标签/a>a classnavbar-item href/resources>资源/a>a classnavbar-item href/reference>备忘清单/a>a classnavbar-item href/about>关于作者/a>/div>div classnavbar-end>a classnavbar-item search title搜索 hrefjavascript:;>i classfas fa-search>/i>/a>/div>/div>/div>/nav>section classsection>div classcontainer>div classcolumns>div classcolumn order-2 column-main is-8-tablet is-8-desktop is-8-widescreen>div classcard>div classcard-image>a classimage is-7by3 href/2025/02/02/uxp-run-jsx/>img classfill src/assets/gallery/covers/uxp-run-jsx.png alt【UXP教程-6】插件面板实战-运行JSX代码>/a>/div>article classcard-content article rolearticle>div classarticle-meta is-size-7 is-uppercase level is-mobile>div classlevel-left>span classlevel-item>time dateTime2025-02-02T11:10:58.000Z title2/2/2025, 7:10:58 PM>2025-02-02/time>发表/span>span classlevel-item>time dateTime2025-02-02T12:15:03.937Z title2/2/2025, 8:15:03 PM>2025-02-02/time>更新/span>span classlevel-item>11 分钟读完 (大约1722个字)/span>/div>/div>p classtitle is-3 is-size-4-mobile>a classlink-muted href/2025/02/02/uxp-run-jsx/>【UXP教程-6】插件面板实战-运行JSX代码/a>/p>div classcontent>p>UXP是Adobe新推出(虽然也有几年了)的插件架构,不像以前CEP那样使用JSX来和宿主进行交互,UXP官方提供了对应的a target_blank relnoopener hrefhttps://developer.adobe.com/photoshop/uxp/2022/ps_reference/>photoshop-api/a>,使用起来融合性更好,更方便一些。但是你在是做CEP插件迁移的时候会发现官方提供的API寥寥无几,很多以前在JSX可以运行的能力都缺失了,虽然Adobe也意识到了这个问题,于是提供了一个叫做a target_blank relnoopener hrefhttps://developer.adobe.com/photoshop/uxp/2022/ps_reference/media/batchplay/>batch play/a>的补丁运作机制,但用起来还是非常别扭。/p>/div>a classarticle-more button is-small is-size-7 href/2025/02/02/uxp-run-jsx/#more>阅读更多/a>/article>/div>div classcard>div classcard-image>a classimage is-7by3 href/2025/01/27/uxp-layout-start/>img classfill src/assets/gallery/covers/wallhaven-9dq1xk.png alt【UXP教程-5】插件面板实战-界面布局和功能开发>/a>/div>article classcard-content article rolearticle>div classarticle-meta is-size-7 is-uppercase level is-mobile>div classlevel-left>span classlevel-item>time dateTime2025-01-27T02:56:50.000Z title1/27/2025, 10:56:50 AM>2025-01-27/time>发表/span>span classlevel-item>time dateTime2025-01-27T14:28:08.598Z title1/27/2025, 10:28:08 PM>2025-01-27/time>更新/span>span classlevel-item>12 分钟读完 (大约1764个字)/span>/div>/div>p classtitle is-3 is-size-4-mobile>a classlink-muted href/2025/01/27/uxp-layout-start/>【UXP教程-5】插件面板实战-界面布局和功能开发/a>/p>div classcontent>p>大家好,教程更新割了整整一年之后,我又回来了。现在是2025年春节假期期间,实在有点闲着无聊,就打算把我的CEP插件迁移到UXP,顺便把教程更新一下。从昨天开始重新去翻官方的文档,发现一年多过去了,UXP的功能支持没有什么新的变化,文档也没有什么新的内容,Adobe爸爸的更新速度真是让人捉急。/p>p>今天借着把我的切图插件从CEP迁移到UXP的契机,给大家逐步介绍一下我的整个UXP面板开发过程,期间我会穿插一些UXP的关键开发知识,让大家能够更加系统地了解UXP的开发。/p>/div>a classarticle-more button is-small is-size-7 href/2025/01/27/uxp-layout-start/#more>阅读更多/a>/article>/div>div classcard>article classcard-content article rolearticle>div classarticle-meta is-size-7 is-uppercase level is-mobile>div classlevel-left>span classlevel-item>time dateTime2023-11-02T00:49:48.000Z title11/2/2023, 8:49:48 AM>2023-11-02/time>发表/span>span classlevel-item>time dateTime2023-11-04T10:46:39.507Z title11/4/2023, 6:46:39 PM>2023-11-04/time>更新/span>span classlevel-item>30 分钟读完 (大约4477个字)/span>/div>/div>p classtitle is-3 is-size-4-mobile>a classlink-muted href/2023/11/02/plugin-safety/>【CEP 专题】 插件的安全防护/a>/p>div classcontent>p> 首先和各位小伙伴道个歉,本博客断更了有半年之久。去年我成功的考上了研究生,然后从今年9月份开始,每周一到周五要上班,周六周日要去上课,基本就是全天候不停歇,整个人处于焦麻的状态。同时在今天 6 月份的时候,工作职责上有一些变更,导致主业更忙了,就很难分出心思来写博客了。/p>p>img src/assets/gallery/contents/FINE_IMG.jpg alt录取通知书>/p>p>不过经过最近的一些主动调整,重新梳理了日常工作作息,偶尔也能抽出一丢丢时间,静下心来继续写一些东西,沉淀和总结,也是促进成长重要的一环。Anyway,胡汉三我又杀回来啦!/p>/div>a classarticle-more button is-small is-size-7 href/2023/11/02/plugin-safety/#more>阅读更多/a>/article>/div>div classcard>article classcard-content article rolearticle>div classarticle-meta is-size-7 is-uppercase level is-mobile>div classlevel-left>span classlevel-item>time dateTime2023-04-07T02:14:18.000Z title4/7/2023, 10:14:18 AM>2023-04-07/time>发表/span>span classlevel-item>time dateTime2023-04-07T02:20:29.068Z title4/7/2023, 10:20:29 AM>2023-04-07/time>更新/span>span classlevel-item>几秒读完 (大约109个字)/span>/div>/div>p classtitle is-3 is-size-4-mobile>a classlink-muted href/2023/04/07/uxp-training-1/>【UXP教程-4】插件面板实战-登录界面开发/a>/p>div classcontent>p>这篇教程开始,我会借着将CEP的切图插件迁移到UXP的契机,带大家完整地走完开发一个UXP插件的过程。/p>p>完整的视频在这里:a target_blank relnoopener hrefhttps://www.bilibili.com/video/BV1c84y1T7H3/>https://www.bilibili.com/video/BV1c84y1T7H3//a>/p>p>欢迎大家点赞关注转发!/p>p>有疑问或者想进一步交流的小伙伴,微信扫码进群讨论/p>img src/assets/img/wx-group.jpg width200 height200 />/div>/article>/div>div classcard>div classcard-image>a classimage is-7by3 href/2023/03/04/uxp-bootstrap/>img classfill src/assets/gallery/covers/wallhaven-eod2zl.jpg alt【UXP教程-3】 插件脚手架搭建>/a>/div>article classcard-content article rolearticle>div classarticle-meta is-size-7 is-uppercase level is-mobile>div classlevel-left>span classlevel-item>time dateTime2023-03-04T14:32:37.000Z title3/4/2023, 10:32:37 PM>2023-03-04/time>发表/span>span classlevel-item>time dateTime2023-03-07T06:34:27.341Z title3/7/2023, 2:34:27 PM>2023-03-07/time>更新/span>span classlevel-item>18 分钟读完 (大约2728个字)/span>/div>/div>p classtitle is-3 is-size-4-mobile>a classlink-muted href/2023/03/04/uxp-bootstrap/>【UXP教程-3】 插件脚手架搭建/a>/p>div classcontent>p>上篇教程我们介绍了如何通过官方提供的Samples来快速跑出来一个hello world插件面板,这样虽然可以让我们快速启动开发,直接在样例的基础上修改我们需要的代码就可以了。但是官方提供的样例,依然还是非常的简陋,提供的配置大体也就是能把项目跑起来而已,而我们实际的插件开发中还会涉及到文件监听、拷贝、混淆、加密打包等等任务,那我们自己去完成一个code>脚手架/code>的搭建就很有必要了。/p>p>这篇文章我来介绍一下如何搭建一个脚手架,让我们的插件开发更加的规范化。/p>/div>a classarticle-more button is-small is-size-7 href/2023/03/04/uxp-bootstrap/#more>阅读更多/a>/article>/div>div classcard>div classcard-image>a classimage is-7by3 href/2023/02/26/cep-panel-update/>img classfill src/assets/gallery/covers/clint-patterson--jCY4oEMA3o-unsplash.jpg alt【CEP专题】聊聊插件怎么更新>/a>/div>article classcard-content article rolearticle>div classarticle-meta is-size-7 is-uppercase level is-mobile>div classlevel-left>span classlevel-item>time dateTime2023-02-26T07:19:39.000Z title2/26/2023, 3:19:39 PM>2023-02-26/time>发表/span>span classlevel-item>time dateTime2023-03-07T06:49:45.785Z title3/7/2023, 2:49:45 PM>2023-03-07/time>更新/span>span classlevel-item>25 分钟读完 (大约3753个字)/span>/div>/div>p classtitle is-3 is-size-4-mobile>a classlink-muted href/2023/02/26/cep-panel-update/>【CEP专题】聊聊插件怎么更新/a>/p>div classcontent>p>之前在群里有很多小伙伴在讨论插件更新这个话题,我自己在插件开发这么些年,前后也折腾过各种插件的更新方式,今天在这里做一些整理,给大家一些参考。/p>/div>a classarticle-more button is-small is-size-7 href/2023/02/26/cep-panel-update/#more>阅读更多/a>/article>/div>div classcard>div classcard-image>a classimage is-7by3 href/2023/02/19/uxp-start/>img classfill src/assets/gallery/covers/wallhaven-ymjyyd.png alt【UXP教程-2】UXP插件开发起步>/a>/div>article classcard-content article rolearticle>div classarticle-meta is-size-7 is-uppercase level is-mobile>div classlevel-left>span classlevel-item>time dateTime2023-02-19T10:09:09.000Z title2/19/2023, 6:09:09 PM>2023-02-19/time>发表/span>span classlevel-item>time dateTime2023-03-07T06:49:45.789Z title3/7/2023, 2:49:45 PM>2023-03-07/time>更新/span>span classlevel-item>8 分钟读完 (大约1250个字)/span>/div>/div>p classtitle is-3 is-size-4-mobile>a classlink-muted href/2023/02/19/uxp-start/>【UXP教程-2】UXP插件开发起步/a>/p>div classcontent>p>上篇文章我们介绍了UXP的发展历史和它的一些特性,这里我们继续介绍如何开始开发一个UXP的Hello World,学习UXP的插件的组成结构和调试工具的使用。/p>p>这篇文章的视频版本在这里a target_blank relnoopener hrefhttps://www.bilibili.com/video/BV1k54y1A7ux/>https://www.bilibili.com/video/BV1k54y1A7ux//a>,欢迎大家点赞关注。/p>/div>a classarticle-more button is-small is-size-7 href/2023/02/19/uxp-start/#more>阅读更多/a>/article>/div>div classcard>div classcard-image>a classimage is-7by3 href/2023/01/15/uxp-introduction/>img classfill src/assets/gallery/covers/cc-hero.jpg alt【UXP教程-1】UXP简介>/a>/div>article classcard-content article rolearticle>div classarticle-meta is-size-7 is-uppercase level is-mobile>div classlevel-left>span classlevel-item>time dateTime2023-01-15T08:01:53.000Z title1/15/2023, 4:01:53 PM>2023-01-15/time>发表/span>span classlevel-item>time dateTime2023-03-07T06:49:45.789Z title3/7/2023, 2:49:45 PM>2023-03-07/time>更新/span>span classlevel-item>17 分钟读完 (大约2559个字)/span>/div>/div>p classtitle is-3 is-size-4-mobile>a classlink-muted href/2023/01/15/uxp-introduction/>【UXP教程-1】UXP简介/a>/p>div classcontent>p>各位小伙伴大家好,CEP的教程内容已经基本结束,接下来我会在把自己插件迁移到UXP的同时,开始写UXP的开发教程,教程依旧秉着高质量输出的基本原则,力求系统且内容详实,希望能够帮助到大家。/p>p>这篇教程的视频地址在这里:a target_blank relnoopener hrefhttps://www.bilibili.com/video/BV1EA411k7wD/?vd_source4a88b104c3028984af0004e35f229635>Adobe UXP插件开发中文教程 - 1. 简介/a>,欢迎大家点赞、关注、转发。/p>h2 id1-Adobe插件开发的演进>a href#1-Adobe插件开发的演进 classheaderlink title1. Adobe插件开发的演进>/a>1. Adobe插件开发的演进/h2>p>在回答strong>UXP是什么/strong>之前,我们先来看看Adobe插件开发的演进过程。在很久很久以前,基于Adobe的扩展,只提供了原生C++的方式,后来在此基础上提供了基于Javascript引擎的脚本扩展,你可以通过写一些js代码来调用宿主API来操作Ps,有过相关经验的小伙伴应该都用过它对应的古老编辑器strong>Adobe ExtendScript Toolkit/strong>/p>/div>a classarticle-more button is-small is-size-7 href/2023/01/15/uxp-introduction/#more>阅读更多/a>/article>/div>div classcard>div classcard-image>a classimage is-7by3 href/2022/12/31/hidden-panel/>img classfill src/assets/gallery/covers/invisible.jpg alt【CEP专题】 隐藏面板的妙用>/a>/div>article classcard-content article rolearticle>div classarticle-meta is-size-7 is-uppercase level is-mobile>div classlevel-left>span classlevel-item>time dateTime2022-12-31T03:17:03.000Z title12/31/2022, 11:17:03 AM>2022-12-31/time>发表/span>span classlevel-item>time dateTime2023-03-07T06:49:45.786Z title3/7/2023, 2:49:45 PM>2023-03-07/time>更新/span>span classlevel-item>16 分钟读完 (大约2379个字)/span>/div>/div>p classtitle is-3 is-size-4-mobile>a classlink-muted href/2022/12/31/hidden-panel/>【CEP专题】 隐藏面板的妙用/a>/p>div classcontent>p>大家好,我又回来了。我已经考完试了,下一步就是等出成绩,等录取通知书啦。/p>p>接下来我会继续回归系列教程的更新,以专题的形式补充一些我之前没有讲到的内容。同时预计春节后,会开始写UXP部分的教程,敬请期待。/p>p>之前有小伙伴反馈文章的形式对一些操作性的内容不太友好,我接下来会试着同时发布文章和视频的方式,视频会发布到B站和知乎,欢迎大家点赞关注转发。这篇文章的视频链接在这里a target_blank relnoopener hrefhttps://www.bilibili.com/video/BV1JK411q7Fp/?share_sourcecopy_web&vd_source70bd80852f7201f0df43faac4f0492dc>【CEP教程】隐藏面板的妙用】/a>,视频和文章的侧重点不一样,建议结合来观看。/p>p>这篇专题文章给大家介绍CEP插件中一种独特的面板形态 - 隐藏面板,以及它可以用来完成的一些有趣的功能。在某些情况下对我们非常有帮助。/p>/div>a classarticle-more button is-small is-size-7 href/2022/12/31/hidden-panel/#more>阅读更多/a>/article>/div>div classcard>div classcard-image>a classimage is-7by3 href/2022/12/01/new-debug-way/>img classfill src/assets/gallery/covers/debug-1024x646.jpeg alt【分享】 一种新的插件调试方法>/a>/div>article classcard-content article rolearticle>div classarticle-meta is-size-7 is-uppercase level is-mobile>div classlevel-left>span classlevel-item>time dateTime2022-12-01T06:37:17.000Z title12/1/2022, 2:37:17 PM>2022-12-01/time>发表/span>span classlevel-item>time dateTime2023-03-07T06:49:45.789Z title3/7/2023, 2:49:45 PM>2023-03-07/time>更新/span>span classlevel-item>10 分钟读完 (大约1538个字)/span>/div>/div>p classtitle is-3 is-size-4-mobile>a classlink-muted href/2022/12/01/new-debug-way/>【分享】 一种新的插件调试方法/a>/p>div classcontent>p>这篇文章来自一个小伙伴的投稿。他一直想实现一种机制,可以在插件面板打开的时候,就能自动打开devTool进行调试,提升插件开发效率。我们针对这个话题在微信里头交流多回/p>img src/assets/gallery/contents/Snip20221201_7.png width400 />p>关于如何调试CEP面板,我之前在a href/2021/10/17/scripting-tool/>【CEP教程-4】开发工具选择和调试/a> 推荐使用旧版本的chromium来进行debug,但显然无法满足他的诉求,于是他经过各种苦思冥想、学习专研最终摸索出了更智能的调试方法,我钦佩他这种执着的问题解决精神,于是和他交流将这个过程记录下来,分享给大家。/p>/div>a classarticle-more button is-small is-size-7 href/2022/12/01/new-debug-way/#more>阅读更多/a>/article>/div>nav classpagination rolenavigation aria-labelpagination>div classpagination-previous is-invisible is-hidden-mobile>a href/page/0/>上一页/a>/div>div classpagination-next>a href/page/2/>下一页/a>/div>ul classpagination-list is-hidden-mobile>li>a classpagination-link is-current href/>1/a>/li>li>a classpagination-link href/page/2/>2/a>/li>li>a classpagination-link href/page/3/>3/a>/li>/ul>/nav>/div>!--!-->div classcolumn column-right is-4-tablet is-4-desktop is-4-widescreen order-3>div classcard widget data-typeprofile>div classcard-content>nav classlevel>div classlevel-item has-text-centered flex-shrink-1>div>figure classimage is-128x128 mx-auto mb-2>img classavatar src/assets/img/me.png altxiaoqiang>/figure>p classtitle is-size-4 is-block styleline-height:inherit;>xiaoqiang/p>p classis-size-6 is-block>Developer Engineer/p>p classis-size-6 is-flex justify-content-center>i classfas fa-map-marker-alt mr-1>/i>span>Beijing/span>/p>/div>/div>/nav>nav classlevel is-mobile>div classlevel-item has-text-centered is-marginless>div>p classheading>文章/p>a href/archives/>p classtitle>30/p>/a>/div>/div>div classlevel-item has-text-centered is-marginless>div>p classheading>分类/p>a href/categories/>p classtitle>0/p>/a>/div>/div>div classlevel-item has-text-centered is-marginless>div>p classheading>标签/p>a href/tags/>p classtitle>8/p>/a>/div>/div>/nav>div classlevel>a classlevel-item button is-primary is-rounded hrefhttps://github.com/emptykid target_blank relme noopener>关注我/a>/div>div classlevel is-mobile is-multiline>a classlevel-item button is-transparent is-marginless target_blank relme noopener titleGithub hrefhttps://github.com/emptykid>i classfab fa-github>/i>/a>a classlevel-item button is-transparent is-marginless target_blank relme noopener titleFacebook href/about>i classfab fa-weixin>/i>/a>a classlevel-item button is-transparent is-marginless target_blank relme noopener titleTwitter href/about>i classfab fa-qq>/i>/a>a classlevel-item button is-transparent is-marginless target_blank relme noopener titleDribbble hrefhttps://weibo.com/u/5065292041>i classfab fa-weibo>/i>/a>/div>/div>/div>!--!-->div classcard widget data-typelinks>div classcard-content>div classmenu>h3 classmenu-label>链接/h3>ul classmenu-list>li>a classlevel is-mobile hrefhttps://www.cutterman.cn target_blank relnoopener>span classlevel-left>span classlevel-item>Cutterman/span>/span>span classlevel-right>span classlevel-item tag>www.cutterman.cn/span>/span>/a>/li>li>a classlevel is-mobile hrefhttps://www.psmirror.cn target_blank relnoopener>span classlevel-left>span classlevel-item>Design Mirror/span>/span>span classlevel-right>span classlevel-item tag>www.psmirror.cn/span>/span>/a>/li>/ul>/div>/div>/div>!--!-->div classcard widget data-typerecent-posts>div classcard-content>h3 classmenu-label>最新文章/h3>article classmedia>div classmedia-content>p classdate>time dateTime2025-02-02T11:10:58.000Z>2025-02-02/time>/p>p classtitle>a href/2025/02/02/uxp-run-jsx/>【UXP教程-6】插件面板实战-运行JSX代码/a>/p>/div>/article>article classmedia>div classmedia-content>p classdate>time dateTime2025-01-27T02:56:50.000Z>2025-01-27/time>/p>p classtitle>a href/2025/01/27/uxp-layout-start/>【UXP教程-5】插件面板实战-界面布局和功能开发/a>/p>/div>/article>article classmedia>div classmedia-content>p classdate>time dateTime2023-11-02T00:49:48.000Z>2023-11-02/time>/p>p classtitle>a href/2023/11/02/plugin-safety/>【CEP 专题】 插件的安全防护/a>/p>/div>/article>article classmedia>div classmedia-content>p classdate>time dateTime2023-04-07T02:14:18.000Z>2023-04-07/time>/p>p classtitle>a href/2023/04/07/uxp-training-1/>【UXP教程-4】插件面板实战-登录界面开发/a>/p>/div>/article>article classmedia>div classmedia-content>p classdate>time dateTime2023-03-04T14:32:37.000Z>2023-03-04/time>/p>p classtitle>a href/2023/03/04/uxp-bootstrap/>【UXP教程-3】 插件脚手架搭建/a>/p>/div>/article>/div>/div>div classcard widget data-typetags>div classcard-content>div classmenu>h3 classmenu-label>标签/h3>div classfield is-grouped is-grouped-multiline>div classcontrol>a classtags has-addons href/tags/Action-Manager/>span classtag>Action Manager/span>span classtag>3/span>/a>/div>div classcontrol>a classtags has-addons href/tags/CEP%E6%8F%92%E4%BB%B6/>span classtag>CEP插件/span>span classtag>22/span>/a>/div>div classcontrol>a classtags has-addons href/tags/PS%E6%8F%92%E4%BB%B6/>span classtag>PS插件/span>span classtag>1/span>/a>/div>div classcontrol>a classtags has-addons href/tags/PS%E6%8F%92%E4%BB%B6%E5%BC%80%E5%8F%91/>span classtag>PS插件开发/span>span classtag>1/span>/a>/div>div classcontrol>a classtags has-addons href/tags/UXP%E6%8F%92%E4%BB%B6/>span classtag>UXP插件/span>span classtag>4/span>/a>/div>div classcontrol>a classtags has-addons href/tags/photoshop/>span classtag>photoshop/span>span classtag>29/span>/a>/div>div classcontrol>a classtags has-addons href/tags/uxp%E6%8F%92%E4%BB%B6/>span classtag>uxp插件/span>span classtag>2/span>/a>/div>div classcontrol>a classtags has-addons href/tags/%E9%9A%8F%E7%AC%94/>span classtag>随笔/span>span classtag>1/span>/a>/div>/div>/div>/div>/div>/div>/div>/div>/section>footer classfooter>div classcontainer>div classlevel>div classlevel-start>a classfooter-logo is-block mb-2 href/>img src/assets/img/logo2.png altAdobe Photoshop插件开发 height28>/a>p classis-size-7>span>© 2025 xiaoqiang/span> Powered by a hrefhttps://hexo.io/ target_blank relnoopener>Hexo/a> & a hrefhttps://github.com/ppoffice/hexo-theme-icarus target_blank relnoopener>Icarus/a>br>span idbusuanzi_container_site_uv>共span idbusuanzi_value_site_uv>0/span>个访客/span>/p>/div>div classlevel-end>div classfield has-addons>p classcontrol>a classbutton is-transparent is-large target_blank relnoopener titleCreative Commons hrefhttps://creativecommons.org/>i classfab fa-creative-commons>/i>/a>/p>p classcontrol>a classbutton is-transparent is-large target_blank relnoopener titleAttribution 4.0 International hrefhttps://creativecommons.org/licenses/by/4.0/>i classfab fa-creative-commons-by>/i>/a>/p>p classcontrol>a classbutton is-transparent is-large target_blank relnoopener titleDownload on GitHub hrefhttps://github.com/ppoffice/hexo-theme-icarus>i classfab fa-github>/i>/a>/p>/div>/div>/div>/div>/footer>script srchttps://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js>/script>script srchttps://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment-with-locales.min.js>/script>script srchttps://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js defer>/script>script>moment.locale(zh-cn);/script>script>var IcarusThemeSettings { article: { highlight: { clipboard: true, fold: unfolded } } };/script>script data-pjax src/js/column.js>/script>script src/js/animation.js>/script>a idback-to-top title回到顶端 hrefjavascript:;>i classfas fa-chevron-up>/i>/a>script data-pjax src/js/back_to_top.js defer>/script>script srchttps://s9.cnzz.com/z_stat.php?id1280361291&web_id1280361291 async>/script>script srchttps://cdnjs.cloudflare.com/ajax/libs/lightgallery/1.10.0/js/lightgallery.min.js defer>/script>script srchttps://cdnjs.cloudflare.com/ajax/libs/justifiedGallery/3.8.1/js/jquery.justifiedGallery.min.js defer>/script>script>window.addEventListener(load, () > { if (typeof $.fn.lightGallery function) { $(.article).lightGallery({ selector: .gallery-item }); } if (typeof $.fn.justifiedGallery function) { if ($(.justified-gallery > p > .gallery-item).length) { $(.justified-gallery > p > .gallery-item).unwrap(); } $(.justified-gallery).justifiedGallery(); } });/script>!--!-->!--!-->script data-pjax src/js/main.js defer>/script>div classsearchbox>div classsearchbox-container>div classsearchbox-header>div classsearchbox-input-container>input classsearchbox-input typetext placeholder想要查找什么...>/div>a classsearchbox-close hrefjavascript:;>×/a>/div>div classsearchbox-body>/div>/div>/div>script data-pjax src/js/insight.js defer>/script>script data-pjax>document.addEventListener(DOMContentLoaded, function () { loadInsight({contentUrl:/content.json}, {hint:想要查找什么...,untitled:(无标题),posts:文章,pages:页面,categories:分类,tags:标签}); });/script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]