ps自定义形状
时间: 2025-05-28 22:49:11 浏览: 32
### Photoshop 自定义形状的使用教程
Photoshop 中的自定义形状功能允许用户加载、保存以及创建独特的矢量图形。以下是有关如何操作和利用这些形状的具体说明。
#### 加载预设形状
在 Photoshop 的默认安装目录下,可以找到许多内置的自定义形状文件夹[^1]。例如,在路径 `E:\photoshopCS4\Adobe Photoshop CS4\Presets\Custom Shapes` 下存储了许多预设形状。要访问它们,可以在工具栏中选择 **自定义形状工具** (位于矩形工具组),然后点击选项栏中的形状下拉菜单来浏览可用的形状列表[^2]。
如果需要导入额外的 `.csh` 文件(即 Custom Shape Set),可以通过以下方式实现:
1. 打开 Photoshop 并进入菜单栏中的 **编辑 > 预设管理器**。
2. 在弹出窗口中选择类别为 “Shapes”,随后点击右上角的齿轮图标并选择 **加载** 或者 **追加** 来引入新的形状集[^3]。
#### 创建新形状
除了使用现有的库外,还可以通过绘制路径来自制个性化设计。完成之后,只需执行如下命令即可将其转换成可重复使用的资源:
- 绘制所需的路径;
- 转到 **编辑 > 定义自定形状...** 命令对话框输入名称确认保存;此时该图案会自动加入当前工作区内的调板供随时选用[^4]。
#### 应用实例代码展示
下面给出一段简单的 Python 脚本用于批量导出自定义形状至单独 PNG 图像:
```python
import os
from photoshop import Session
output_dir = 'C:/shapes_output/'
if not os.path.exists(output_dir):
os.makedirs(output_dir)
with Session() as ps:
docRef = app.documents.add(800, 600)
for i in range(len(app.customShapeList)):
shapeName = app.customShapeList[i].name
# Select the custom shape tool and set its properties.
app.activeTool = 'customShape'
app.preferences.rulerUnits = Units.PIXELS
app.preferences.typeUnits = TypeUnits.POINTS
newLayer = docRef.artLayers.add()
newLayer.name = f'Shape_{i}'
desc = ActionDescriptor()
ref = ActionReference()
ref.putProperty(charIDToTypeID('Prpr'), charIDToTypeID('content'))
ref.putEnumerated(classIDToTypeID('Lyr '), classIDToTypeID('Ordn'), classIDToTypeID('Trgt'))
desc.putReference(keyIDToCharID('null'), ref)
listDesc = List()
contentSettings = ActionDescriptor()
contentSettings.putString(keyIDToCharID('Type'), shapeName)
contentSettings.putInteger(keyIDToCharID('Wdth'), 500)
contentSettings.putInteger(keyIDToCharID('Hght'), 500)
listDesc.putObject(classIDToTypeID('Shp '), contentSettings)
desc.putList(keyIDToCharID('Usng'), listDesc)
executeAction(keyIDToCharID('setd'), desc, DialogModes.NO)
exportOptionsSaveForWeb = ExportOptionsSaveForWeb(Format.PNG, PNGTransparency.TRUE, 72)
fileSpec = File(os.path.join(output_dir, f'{shapeName}.png'))
docRef.exportDocument(fileSpec, ExportType.SAVEFORWEB, exportOptionsSaveForWeb)
docRef.close(SaveOptions.DONOTSAVECHANGES)
```
上述脚本实现了遍历所有已加载的自定义形状并将每一个渲染输出为独立PNG图片的功能[^5]。
阅读全文
相关推荐

















