You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否通过Photoshop脚本获取画笔工具按钮位置及画笔大小等编辑框值?

Photoshop脚本:获取画笔控件位置与画笔大小值

好问题!咱们逐个拆解你的需求:

一、能否获取画笔工具按钮的位置?

可惜的是,Photoshop的官方脚本API(不管是VBScript还是JavaScript)并没有开放获取UI控件(比如画笔工具按钮)坐标的接口。你设想的appRef.ControlPosition("paintbrushTool")这种方法其实是不存在的——毕竟Photoshop的界面布局会随工作区、窗口尺寸、软件版本动态变化,Adobe并没有把这类UI元素的位置信息暴露给脚本开发者。所以目前没法通过脚本实现获取画笔工具按钮位置的需求。

二、能否获取画笔大小的值?

这个完全没问题!脚本可以直接访问当前画笔的各类属性,包括大小、硬度、间距这些参数。下面是贴合你给出的VBScript风格的实现代码:

VBScript示例代码

' 定义脚本调试模式常量
Const psNeverShowDebugger = 1
Const psDebuggerOnError = 2
Const psBeforeRunning = 3

' 建立与Photoshop的连接
Dim appRef
Set appRef = CreateObject("Photoshop.Application")

' 获取当前选中画笔的大小值
Dim brushSize
brushSize = appRef.Brushes.Item(appRef.Brush.Name).Size

' 弹出窗口显示结果
MsgBox "当前画笔大小为: " & brushSize & " px"

代码说明

  • 这段代码先连接到运行中的Photoshop实例,然后通过appRef.Brush.Name获取当前激活的画笔名称,再通过Brushes.Item()定位到对应的画笔对象,最后读取Size属性得到画笔的像素尺寸。
  • 要是你需要设置画笔大小,也可以直接赋值:appRef.Brushes.Item(appRef.Brush.Name).Size = 50(把画笔大小改成50px)。

额外:JavaScript实现方式

如果用Photoshop更常用的JavaScript写,代码会更简洁:

// 获取当前画笔大小
var brushRef = new ActionReference();
brushRef.putClass(charIDToTypeID("Brsh"));
var brushProps = executeActionGet(brushRef);
var brushSize = brushProps.getInteger(charIDToTypeID("Size"));

// 弹出提示
alert("当前画笔大小为: " + brushSize + " px");

需要注意的是,不管用哪种脚本,都要确保Photoshop处于运行状态,并且脚本拥有足够的权限访问应用对象。

内容的提问来源于stack exchange,提问作者Milos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:09:36