AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻譯準備中
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Aspose.PSD.FOSS is a free open-source .NET library for loading, inspecting, editing a small subset of PSD/PSB metadata, and saving the file back without rendering.
This library is for metadata-safe PSD/PSB inspection and limited structural editing. It is not a rendering engine, a raster editor, or an open-source replacement for the full commercial Aspose.PSD product.
Use Aspose.PSD.FOSS when you need to:
Do not use Aspose.PSD.FOSS when you need to:
Width, Height, ChannelsCount, BitsPerChannel, ColorMode, Aspose.PSD-compatible VersionSize, Bounds, Compression, ImageResources, IsFlattenName, local Bounds Rectangle, Width, Height, Top, Left, Bottom, Right, IsVisible, Opacity, Clipping, BlendModeKeyName, IsVisible, Opacity, BlendModeKey, Clipping, and layer geometry through coordinate propertiesThe package metadata is defined in this repository, but Aspose.PSD.FOSS is not published to NuGet yet.
Build the package locally:
dotnet pack src/Aspose.PSD.FOSS/Aspose.PSD.FOSS.csproj -c Release
The package will be created under src/Aspose.PSD.FOSS/bin/Release/.
To install it through a NuGet:
dotnet add package Aspose.PSD.FOSS
using Aspose.PSD;
using Aspose.PSD.FileFormats.Core.Blending;
using Aspose.PSD.FileFormats.Psd;
using Aspose.PSD.FileFormats.Psd.Layers;
using var image = (PsdImage)Image.Load("input.psd");
Console.WriteLine(image.Width);
Console.WriteLine(image.Height);
Console.WriteLine(image.ChannelsCount);
Console.WriteLine(image.BitsPerChannel);
Console.WriteLine(image.ColorMode);
Console.WriteLine(image.Version);
Console.WriteLine(image.Compression);
Console.WriteLine(image.Layers.Length);
Console.WriteLine(image.ImageResources.Length);
foreach (Layer layer in image.Layers)
{
Console.WriteLine(layer.Name);
Console.WriteLine(layer.Bounds);
Console.WriteLine(layer.BlendModeKey);
Console.WriteLine(layer.IsVisible);
Console.WriteLine(layer.Opacity);
}
image.Layers[0].Name = "Updated layer";
image.Layers[0].IsVisible = false;
image.Layers[0].Left = 10;
image.Layers[0].Top = 20;
image.Layers[0].Right = 110;
image.Layers[0].Bottom = 120;
image.Layers[0].Opacity = 128;
image.Layers[0].BlendModeKey = BlendMode.Multiply;
image.Save("output.psd");
Choose Aspose.PSD.FOSS if you need a small open-source library for structural inspection and limited non-rendering edits.
Choose the commercial Aspose.PSD product if you need broad Photoshop feature support such as rendering, raster editing, export pipelines, richer resource/tag handling, or wider PSD/PSB compatibility.
Runnable sample projects are available in the repository samples/ folder:
Aspose.PSD.FOSS.Samples.BasicAspose.PSD.FOSS.Samples.LayersAspose.PSD.FOSS.Samples.StructuralEditingAspose.PSD.FOSS.Samples.StreamsAspose.PSD.NuGet.Samples.BasicAspose.PSD.NuGet.Samples.LayersAspose.PSD.NuGet.Samples.StructuralEditingAspose.PSD.NuGet.Samples.StreamsThe Aspose.PSD.FOSS.Samples.* projects reference this FOSS library. The Aspose.PSD.NuGet.Samples.* projects run the same workflows against the official Aspose.PSD NuGet package.
Each FOSS sample must have a fully analogous NuGet sample, and the matching Program.cs files must always remain identical. Keep only the project files different so the same application source can be compiled and exercised against both libraries for the supported migration scenarios.
This parity requirement applies to sample source and covered workflows, not to byte-for-byte identical runtime output. The commercial Aspose.PSD package may report different values or save different bytes for the same input document even when both sample projects successfully run the same scenario.
Sample/workflow matrix:
| FOSS sample | NuGet sample | Main workflow | What it demonstrates |
|---|---|---|---|
Aspose.PSD.FOSS.Samples.Basic | Aspose.PSD.NuGet.Samples.Basic | Document inspection | Aspose.PSD-compatible document metadata and supported resource/layer counts |
Aspose.PSD.FOSS.Samples.Layers | Aspose.PSD.NuGet.Samples.Layers | Layer inspection | Layer metadata, derived geometry, blend mode key, channel information, mask data, and blending ranges |
Aspose.PSD.FOSS.Samples.StructuralEditing | Aspose.PSD.NuGet.Samples.StructuralEditing | Supported metadata editing | Renaming layers, changing visibility, opacity, clipping, blend mode key, and geometry, then saving without rendering |
Aspose.PSD.FOSS.Samples.Streams | Aspose.PSD.NuGet.Samples.Streams | Stream-based round trip | Loading from a stream, saving to a stream, and working with in-memory PSD/PSB data |
Example commands:
dotnet run --project samples/Aspose.PSD.FOSS.Samples.Basic
dotnet run --project samples/Aspose.PSD.FOSS.Samples.Layers
dotnet run --project samples/Aspose.PSD.FOSS.Samples.StructuralEditing
dotnet run --project samples/Aspose.PSD.FOSS.Samples.Streams
dotnet run --project samples/Aspose.PSD.NuGet.Samples.Basic
dotnet run --project samples/Aspose.PSD.NuGet.Samples.Layers
dotnet run --project samples/Aspose.PSD.NuGet.Samples.StructuralEditing
dotnet run --project samples/Aspose.PSD.NuGet.Samples.Streams
If you do not pass an input file, the samples try to use the repository PSD test fixture.
If you do not pass an output file to the stream or structural-editing samples, they save into the repository tmp/ folder by default.
Markdown documentation is available in the repository:
documentation/README.mddocumentation/getting-started.mddocumentation/developer-guide/basic-psd-operations.mddocumentation/limitations.mdName, IsVisible, Opacity, BlendModeKey, Clipping, and layer geometry through coordinate propertiesMIT