บทนำ

Aspose.PSD FOSS for .NET เป็นไลบรารีโอเพนซอร์สใหม่สำหรับทำงานกับไฟล์ PSD และ PSB (Photoshop large document) จากโค้ด .NET. ไลบรารีนี้เผยแพร่ภายใต้สัญญาอนุญาต MIT, ต้องการเพียง .NET 10.0 ในเวลารันไทม์, และไม่มีการพึ่งพาจากบุคคลที่สามอื่นใด. แพ็กเกจจะถูกนำเข้าโดยใช้ using Aspose.PSD.FOSS;.

ไลบรารีนี้จัดโครงสร้างรอบคลาส PsdImage, ซึ่งสืบทอดจากคลาสฐานแบบนามธรรม Image, และคลาส Layer. Image.Load() / PsdImage.Load() โหลดเอกสารจากเส้นทางไฟล์หรือสตรีม, เปิดเผยข้อมูลส่วนหัว (Width, Height, ColorMode, Version, Compression) และคอลเลกชัน Layers ที่แยกวิเคราะห์; PsdImage.Save() เขียนเอกสารออกไปยังไฟล์หรือสตรีม. แต่ละ Layer เปิดเผยเมตาดาต้าของตนเอง — Name, Bounds, IsVisible, Opacity, Clipping, BlendModeKey, และข้อมูลช่อง/มาสก์ — และส่วนย่อยของคุณสมบัติเหล่านี้สามารถเปลี่ยนได้ในที่เดียวและบันทึกกลับไปยังไฟล์.

รุ่นนี้ออกสำหรับนักพัฒนาที่ต้องการตรวจสอบหรือทำการแก้ไขเมตาดาต้าอย่างจำกัดในไฟล์ PSD/PSB ภายในฐานโค้ด .NET โดยไม่มีใบอนุญาตเชิงพาณิชย์ — เครื่องมือ asset-pipeline ที่รายงานโครงสร้างเลเยอร์, สคริปต์การสร้างที่เปลี่ยนชื่อหรือสลับการมองเห็นของเลเยอร์ก่อนการส่งต่อ, หรือฟิกซ์เจอร์การทดสอบที่ต้องอ่านส่วนหัว PSD และข้อมูลเลเยอร์โดยไม่ต้องใช้เอนจินการเรนเดอร์เต็มรูปแบบ. ไลบรารีนี้ไม่ทำการเรนเดอร์ข้อมูลพิกเซลหรือแปลง PSD/PSB ไปเป็นรูปแบบภาพอื่น — มันเป็นตัวอ่าน/เขียนที่มุ่งเน้นเมตาดาต้าสำหรับรูปแบบคอนเทนเนอร์ PSD/PSB.


สิ่งที่รวมอยู่

การตรวจสอบเอกสาร

PsdImage.Load() แยกวิเคราะห์ส่วนหัวของไฟล์ PSD หรือ PSB ไปเป็นคุณสมบัติมีชนิด — Width, Height, BitsPerChannel, ColorMode, Version, Compression, Size, และ IsFlatten — โดยไม่ต้องถอดรหัสข้อมูลพิกเซล.

using var image = (PsdImage)Image.Load(inputPath);
Console.WriteLine($"Width: {image.Width}, Height: {image.Height}");
Console.WriteLine($"ColorMode: {image.ColorMode}, Version: {image.Version}");
Console.WriteLine($"Layers: {image.Layers.Length}, Compression: {image.Compression}");

เมทาดาต้าเลเยอร์

แต่ละรายการใน PsdImage.Layers คือ Layer ที่เปิดเผยขอบเขต การมองเห็น ความทึบแสง การคลิป และเมทาดาต้าโหมดผสมของมันเอง.

foreach (var layer in image.Layers)
{
    Console.WriteLine($"{layer.Name}: {layer.Bounds}, Visible={layer.IsVisible}, Opacity={layer.Opacity}");
}

การแก้ไขเมทาดาต้าที่รองรับ

ส่วนย่อยของคุณสมบัติเพลเยอร์สามารถเปลี่ยนแปลงในที่เดียวและเขียนกลับด้วย PsdImage.Save(): ชื่อ, การมองเห็น, ความทึบแสง, การคลิป, คีย์โหมดผสม, และสี่ขอบของขอบเขต.

Layer layer = image.Layers[0];
layer.Name = $"{layer.Name} (edited)";
layer.IsVisible = !layer.IsVisible;
layer.Opacity = 128;
layer.BlendModeKey = BlendMode.Multiply;
image.Save(outputPath);

เริ่มต้นอย่างรวดเร็ว

ติดตั้งแพคเกจ, จากนั้นโหลดไฟล์ PSD หรือ PSB, ตรวจสอบเลเยอร์ของมัน, และบันทึกออกมาใหม่:

git clone https://github.com/aspose-psd-foss/Aspose.PSD-FOSS-for-.NET.git
cd Aspose.PSD-FOSS-for-.NET
dotnet build
using Aspose.PSD.FileFormats.Psd;

using var image = (PsdImage)Image.Load("input.psd");
Console.WriteLine($"Width: {image.Width}, Height: {image.Height}, Layers: {image.Layers.Length}");

foreach (var layer in image.Layers)
{
    Console.WriteLine($"  {layer.Name}: {layer.Bounds}");
}

image.Save("output.psd");

รูปแบบที่รองรับ

รูปแบบส่วนขยายอ่านเขียน
เอกสาร Photoshoppsd✓✓
เอกสาร Photoshop ขนาดใหญ่psb✓✓

โอเพนซอร์ส & การให้สิทธิ์

Aspose.PSD FOSS สำหรับ .NET มีสัญญาอนุญาตแบบ MIT และสามารถใช้ในผลิตภัณฑ์เชิงพาณิชย์ได้โดยไม่มีค่าลิขสิทธิ์, ไม่มีลายน้ำการประเมินหรือขีดจำกัดการใช้งาน.

แพ็คเกจนี้อยู่ที่เวอร์ชัน 1.0.0 และต้องการเพียง .NET 10.0 ในขณะทำงาน — ไม่มีการพึ่งพาจากบุคคลที่สามอื่นใด.


เริ่มต้นใช้งาน

ทรัพยากรที่เกี่ยวข้อง