1. Sản Phẩm
  2.   Aspose.PSD
  3.   Aspose.PSD FOSS for .NET

Aspose.PSD FOSS cho .NET

Thư viện .NET mã nguồn mở để tải, kiểm tra và lưu các tệp PSD/PSB với khả năng truy cập siêu dữ liệu lớp. Được cấp phép MIT, không cần Adobe Photoshop.

Thư viện .NET mã nguồn mở cho các tệp PSD/PSB

Aspose.PSD FOSS for .NET là một thư viện C# miễn phí, có giấy phép MIT, thuần Layer để tải, kiểm tra, và lưu các tệp Adobe Photoshop PSD và PSB mà không yêu cầu Adobe Photoshop hoặc bất kỳ môi trường chạy độc quyền. Nó cung cấp một API nhẹ, độc lập, tập trung vào PsdImage và Layer, cho phép các nhà phát triển .NET truy cập lập trình vào cấu trúc tài liệu PSD mà không có các phụ thuộc bản địa để biên dịch. Thư viện đọc các kích thước, chế độ màu, độ sâu bit và phương pháp nén của tệp PSD/PSB, và cung cấp mọi lớp thông qua PsdImage.Layers: mỗi Layer báo cáo tên của nó, giới hạn, độ mờ, khả năng hiển thị và khóa chế độ hòa trộn (BlendMode), cùng với cấp độ thấp hơn thông tin kênh (ChannelInformation) và dữ liệu mặt nạ (LayerMaskData). Một tập con của siêu dữ liệu lớp — tên, giới hạn (Left/Top/Right/Bottom), và chế độ hòa trộn — có thể được sửa đổi tại chỗ và lưu lại trên đĩa bằng PsdImage.Save(); mọi thứ còn lại trên bề mặt được thiết kế chỉ đọc trong bản dựng FOSS này. Aspose.PSD FOSS for .NET có giấy phép MIT. Cài đặt nó bằng dotnet add package Aspose.PSD.FOSS — thư viện không có bất kỳ phụ thuộc bản địa của bên thứ ba nào phụ thuộc, chỉ có .NET BCL. Đối với họa sản phẩm doanh nghiệp, xem Aspose.PSD — Enterprise Product Family.

Tải và Kiểm tra các tệp PSD/PSB

  • Image.Load(filePath) hoặc Image.Load(stream) mở một tệp và trả về một Image, ép kiểu sang PsdImage để truy cập đặc thù PSD
  • PsdImage.Width, Height, và Size báo cáo kích thước canvas
  • PsdImage.ColorMode (ColorModes), BitsPerChannel, và Compression (CompressionMethod) mô tả cách dữ liệu pixel được mã hóa
  • PsdImage.Version (PsdVersion) phân biệt PSD tiêu chuẩn với biến thể tài liệu lớn PSB

Xác thực và lập danh mục các tệp thiết kế

  • Xác thực một lô tệp thiết kế trước khi chuyển chúng cho quy trình hạ nguồn
  • Xây dựng một danh mục tài sản nhẹ về kích thước và chế độ màu của PSD/PSB
  • Phát hiện các tệp PSB (tài liệu lớn) cần xử lý khác so với PSD tiêu chuẩn

Làm việc với Lớp

  • PsdImage.Layers trả về mọi Layer theo thứ tự tài liệu; PsdImage.ActiveLayer báo cáo lớp nào đang hoạt động
  • Mỗi Layer cung cấp Name, Bounds, Opacity, IsVisible, và BlendModeKey (BlendMode)
  • Layer.ChannelInformation và Layer.LayerMaskData cung cấp siêu dữ liệu kênh và mặt nạ để kiểm tra sâu hơn
  • Layer.ChannelsCount báo cáo số kênh hình ảnh mà một lớp mang theo

Cấu Trúc Lớp Kiểm Toán

  • Kiểm tra cấu trúc lớp của tệp PSD mà không mở Photoshop
  • Tạo báo cáo về tên lớp, trạng thái hiển thị và chế độ hòa trộn cho việc đánh giá thiết kế
  • Xác định các lớp ẩn hoặc có độ trong suốt bằng 0 còn lại từ các chỉnh sửa trước đó

Chỉnh sửa siêu dữ liệu lớp cơ bản

  • Layer.Name, Layer.Left/Top/Right/Bottom, và Layer.BlendModeKey có thể được đặt trực tiếp
  • PsdImage.Save(filePath) hoặc PsdImage.Save(stream) lưu lại tài liệu đã sửa đổi trở lại đĩa
  • Tải lại tệp đã lưu bằng Image.Load xác nhận các chỉnh sửa vòng quay đúng cách
  • Các thuộc tính không được liệt kê ở trên (thông tin kênh, dữ liệu mặt nạ, phạm vi pha trộn, tài nguyên hình ảnh) sẽ gây ra NotSupportedException nếu được đặt — bản dựng này hỗ trợ chỉnh sửa chỉ siêu dữ liệu, không phải tái tạo đầy đủ

Chỉnh sửa nhẹ, có thể lập trình

  • Đổi tên các lớp một cách lập trình như một phần của quy trình tổ chức tệp tự động
  • Định vị lại hoặc thay đổi kích thước hộp bao quanh của lớp mà không cần công cụ thiết kế
  • Cập nhật hàng loạt các chế độ hòa trộn trên nhiều tệp để đạt tính nhất quán

Kiểm tra các khối tài nguyên và trạng thái tài liệu

  • PsdImage.ImageResources và GlobalLayerResources cung cấp các bộ sưu tập ResourceBlock/LayerResource
  • PsdImage.GlobalLayerMaskInfo báo cáo thông tin mặt nạ lớp trên toàn tài liệu
  • PsdImage.IsFlatten và HasTransparencyData báo cáo các cờ ở mức tài liệu
  • PsdLoadException và PsdSaveException hiển thị lỗi tải/lưu với thông điệp rõ ràng

Chẩn đoán và Kiểm tra

  • Chẩn đoán lý do tại sao một tệp PSD cụ thể không tải được, với một ngoại lệ đã định kiểu thay vì lỗi chung
  • Kiểm tra xem tệp có được lưu ở dạng flattened trước khi xử lý thêm hay không
  • Kiểm tra các khối tài nguyên nhúng để tìm siêu dữ liệu cấp format-level

Tải tệp PSD và Kiểm tra các lớp của nó

Tải một tệp bằng Image.Load và ép kiểu kết quả sang PsdImage để sử dụng các thành viên đặc thù của PSD.

using var image = (PsdImage)Image.Load("test.psd");
Console.WriteLine($"Width: {image.Width}, Channels: {image.ChannelsCount}, Layers: {image.Layers.Length}");
Layer layer = image.Layers[0];
Console.WriteLine($"Bounds: {layer.Bounds}, BlendMode: {layer.BlendModeKey}, Opacity: {layer.Opacity}, Visible: {layer.IsVisible}");

Chỉnh sửa siêu dữ liệu lớp và Lưu

Tên lớp, giới hạn và chế độ hòa trộn có thể được thay đổi ngay tại chỗ và lưu lại vào đĩa.

using (var image = (PsdImage)Image.Load("test.psd"))
{
    image.Layers[0].Name = "Renamed layer";
    image.Layers[0].Left = 10;
    image.Layers[0].Top = 20;
    image.Layers[0].Right = 40;
    image.Layers[0].Bottom = 60;
    image.Layers[0].BlendModeKey = BlendMode.Multiply;
    image.Save("edited.psd");
}

using var reloaded = (PsdImage)Image.Load("edited.psd");
Console.WriteLine($"Name: {reloaded.Layers[0].Name}, BlendMode: {reloaded.Layers[0].BlendModeKey}");

Đọc Thông Tin Kênh (Chỉ Đọc)

Thông tin kênh có thể được đọc nhưng không thể gán lại — việc cố gắng thiết lập nó sẽ ném NotSupportedException.

using var image = (PsdImage)Image.Load("test.psd");
Layer layer = image.Layers[0];
ChannelInformation[] channelInformation = layer.ChannelInformation;
Console.WriteLine($"Channel count: {layer.ChannelsCount}, First channel length: `NotSupportedException`");
// layer.ChannelInformation = channelInformation; // throws NotSupportedException

Câu Hỏi Thường Gặp

Mô hình cấp phép là gì?

Aspose.PSD FOSS for .NET được cấp phép MIT. Bạn có thể sử dụng, sửa đổi và phân phối lại nó theo các điều khoản của giấy phép MIT, bao gồm trong các sản phẩm thương mại.

Làm thế nào để cài đặt Aspose.PSD FOSS for .NET?

Xem phần cài đặt ở trên để biết lệnh cài đặt hiện tại.

Các định dạng nào mà Aspose.PSD FOSS for .NET có thể đọc và ghi?

Nó tải và lưu các tệp PSD và PSB (Photoshop large document). Nó không thực hiện render hoặc xuất dữ liệu pixel sang các định dạng raster khác như PNG hoặc JPEG.

Lớp điểm vào chính là gì?

PsdImage (một lớp con của Image). Tải tài liệu bằng PsdImage.Load, sau đó đọc bộ sưu tập Layers và các thuộc tính tiêu đề.

Tôi có thể sửa đổi siêu dữ liệu lớp không?

Có — Layer cung cấp một setter hoạt động cho một số thuộc tính, chẳng hạn như khả năng hiển thị và tên, và PsdImage.Layers tự nó có một setter hoạt động để thay thế bộ sưu tập. Một vài thuộc tính cụ thể (thông tin kênh, dữ liệu mặt nạ, phạm vi hòa trộn và một số tài nguyên cấp tài liệu) chỉ đọc trong bản dựng FOSS này và sẽ ném NotSupportedException nếu được đặt.

  

Tài Nguyên Hỗ Trợ và Học Tập

 Tiếng Việt