Repository navigation
v0.3.0
psdkit 是用于读取、编辑和合成 PSD/PSB 的 Go 库,提供浏览器 WebAssembly 演示。
本版重点
本版继续扩展受控编辑与实时来源重绘,让声明范围内的 Warp、文字、滤镜及图层效果在编辑后更新像素,并支持保存、重新打开和继续编辑。
- Warp 控制点编辑:新增
SetSmartObjectWarp,支持已有 4×4 单片及已认证的 10×10/13×13 均匀网格;保留共享来源、其他实例与原生结构,均匀网格使用显式数学投影。 - Warp 预设参数与来源重绘:新增
SetSmartObjectWarpPreset,编辑已有横向 Arc Lower 的 bend;已认证的 4×2、仿射、零透视及无折叠范围接入整图、ROI、Tile、分块访问和单实例来源重绘。每次均需显式开启ApproximateCustomWarp,零 bend 也不例外。 - 文字自动更新像素:
SetTextContent可通过Render、调用方提供的字体及明确选择的文字近似策略自动生成源像素;保留准确Pixels输入方式。自动模式限 RGB8、明确 72ppi、单样式水平点文字及现有排版算法范围。 - 来源替换与滤镜联动:替换智能对象共享来源时,按各实例当前投影、滤镜参数及滤镜蒙版重新计算,近似策略逐次显式提供。
- 实时智能对象与效果组合:扩展智能对象实时来源上的阴影与颜色叠加;补齐已校准矩形矢量羽化、双蒙版与阴影组合,覆盖编辑、保存重开及继续编辑。
- 独立画板与默认覆盖蒙版:独立画板读取实际智能对象来源,保留各画板背景与裁剪;无采样默认覆盖像素蒙版可叠加矢量蒙版,并保持整图、区域和分块语义一致。
- 文档与交付记录:同步 Go API、浏览器桥接、能力矩阵和任务面板,将安装示例固定到本版,保留
v0.2.0的历史交付证据。
使用范围与升级说明
- 需要 Go 1.27.3 或更新版本,核心库只依赖标准库,许可仍为 MIT。
TextEditOptions.Render、SmartContentsOptions.SmartFilters等选项新增字段;升级时使用带字段名的结构体初始化,原有准确Pixels输入方式仍保留。- 新编辑接口保持原子提交;不支持的结构、预算不足、取消或并发编辑冲突不会提交部分参数或像素。
- 外链和字体必须由调用方显式提供;编辑策略、实时重绘策略及保存预览策略分别选择,近似不会自动继承或开启。
- Arc Lower 仅覆盖已声明的预设与几何;预设来源替换、不规则网格、任意 quilt、透视网格及统一原生像素精度仍不支持。
- PSD/PSB 四种压缩的保存重开、JSON 桥接、预算和失败路径均有回归测试。各项能力的完整边界以此 Tag 的能力矩阵和 API 注释为准。
安装
需要 Go 1.27.3 或更新版本。
go get github.com/gopkg-dev/psdkit@v0.3.0本次更新
新增功能
- psd:扩展 Warp 编辑、文字自动重绘与来源效果组合(765292c)
文档与示例
- 更新 v0.3.0 发布说明、支持矩阵与安装指南(3f3dff9)
验证
- Linux、macOS、Windows:Go 测试、竞态检测和 vet。
- golangci-lint、格式检查、浏览器 SDK 测试、Wasm/Playground 构建与仓库检查。
- 独立 Go 项目经
proxy.golang.org下载此版本并通过校验和验证,不使用本地 replace。 - 实际运行 PSD/PSB 创建、保存重开、重复原位保存、图层组合成与像素检查。
文档与支持范围
- 使用文档 · 在线 Playground
- 此版本能力矩阵与已知限制
- v0.x 的公共 API 仍可能调整。
- 不支持的特性和显式近似以此版本能力矩阵为准。
- MIT 许可。作为 Go 库发布,源码归档由 GitHub 提供,无需单独下载平台二进制。