Cắt thay đổi kích thước PSD java

Tệp hình ảnh PSD được sử dụng để thiết kế hình ảnh cho biểu trưng, biểu ngữ, tài liệu quảng cáo và nhiều mục đích khác. Trong một số trường hợp nhất định, bạn có thể cần cắt hoặc xoay tệp PSD trong các ứng dụng Java của mình. Bài viết này trình bày cách cắt hoặc xoay tệp PSD theo lập trình trong Java.

Xoay hoặc cắt tệp PSD - Cài đặt API Java

Aspose.PSD cho Java API hỗ trợ làm việc với PSD và một số định dạng tệp Photoshop khác. Bạn có thể định cấu hình API bằng cách tải xuống tệp JAR từ Bản phát hành mới hoặc sử dụng các cấu hình Maven sau trong dự án của bạn:

Kho:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>

Sự phụ thuộc:

<dependency>
     <groupId>com.aspose</groupId>
     <artifactId>aspose-psd</artifactId>
     <version>21.7</version>
     <classifier>jdk16</classifier>
</dependency>

Cắt hình ảnh PSD bằng Cách tiếp cận Shift trong Java

Bạn có thể cắt ảnh PSD bằng cách thay đổi nội dung theo yêu cầu của bạn. Vui lòng làm theo các bước dưới đây để cắt hình ảnh bằng cách thay đổi nội dung:

  1. Tải tệp PSD đầu vào vào đối tượng lớp RasterImage.
  2. Lưu vào bộ nhớ cache của hình ảnh bằng phương pháp cacheData.
  3. Xác định các giá trị dịch chuyển và chuyển chúng vào phương thức crop.
  4. Lưu hình ảnh đã cắt đầu ra.

Đoạn mã sau đây cho thấy cách cắt ảnh PSD bằng cách chuyển nội dung theo chương trình trong Java:

// Tải một hình ảnh hiện có vào một phiên bản của lớp RasterImage
RasterImage rasterImage = (RasterImage)Image.load("Test.psd");
     
// Trước khi cắt, hình ảnh nên được lưu vào bộ nhớ đệm để có hiệu suất tốt hơn
if (!rasterImage.isCached())
{
    rasterImage.cacheData();
}

// Xác định giá trị dịch chuyển cho cả bốn mặt
int leftShift = 10;
int rightShift = 10;
int topShift = 10;
int bottomShift = 10;

// Dựa trên các giá trị dịch chuyển, hãy áp dụng cắt trên hình ảnh.
// Phương thức xén sẽ dịch chuyển giới hạn hình ảnh về phía trung tâm của hình ảnh và Lưu kết quả vào đĩa
rasterImage.crop(leftShift, rightShift, topShift, bottomShift);

// Lưu đầu ra ở định dạng JPEG, PSD hoặc bất kỳ định dạng nào khác.
rasterImage.save("output.jpg", new JpegOptions());
rasterImage.save("output.psd", new PsdOptions());

Cắt hình ảnh PSD với tọa độ hình chữ nhật trong Java

Bạn có thể cắt bất kỳ vùng hình chữ nhật nào trong ảnh PSD bằng cách chỉ định tọa độ. Bạn cần làm theo các bước dưới đây để cắt ảnh PSD:

  1. Tải một hình ảnh hiện có vào một thể hiện của lớp RasterImage.
  2. Lưu vào bộ nhớ cache hình ảnh để có hiệu suất tốt hơn.
  3. Tạo một thể hiện của lớp Rectangle với kích thước mong muốn.
  4. Cắt hình ảnh bằng phương pháp crop và lưu tệp đầu ra.

Đoạn mã dưới đây trình bày cách cắt tệp PSD với tọa độ hình chữ nhật trong Java:

String sourceFile = "sample.psd";
String destName = "Cropping-PSD_out.jpg";

// Tải một hình ảnh hiện có vào một phiên bản của lớp RasterImage
RasterImage rasterImage = (RasterImage)Image.load(sourceFile);
    
// Lưu vào bộ nhớ cache hình ảnh để có hiệu suất tốt hơn
if (!rasterImage.isCached())
{
   rasterImage.cacheData();
}

// Tạo một thể hiện của lớp Rectangle với kích thước mong muốn. 
Rectangle rectangle = new Rectangle(20, 20, 20, 20);

// Thực hiện thao tác cắt trên đối tượng của lớp Rectangle
rasterImage.crop(rectangle);

// Lưu kết quả vào đĩa
rasterImage.save(destName, new JpegOptions());

Xoay Hình ảnh PSD ở bất kỳ góc nào trong Java

Trong một số tình huống, bạn có thể cần xoay ảnh PSD ở một góc cụ thể. Vui lòng làm theo các bước dưới đây để xoay ảnh PSD:

  1. Tải tệp ảnh PSD nguồn với lớp RasterImage.
  2. Trước khi xoay, hình ảnh nên được lưu vào bộ nhớ đệm để cải thiện hiệu suất.
  3. Chỉ định góc để xoay trong phương thức xoay.
  4. Lưu tệp đầu ra.

Mẫu mã dưới đây giải thích cách xoay ảnh PSD trong Java:

String sourceFile = "sample.psd";
String destName = "Rotate-PSD_out.jpg";
       
// Tải tệp hình ảnh PSD đầu vào
RasterImage image = (RasterImage)Image.load(sourceFile);

// Trước khi xoay, hình ảnh nên được lưu vào bộ nhớ đệm để có hiệu suất tốt hơn
if (!image.isCached())
{
    image.cacheData();
}

// Xoay hình ảnh PSD trên góc 20 độ trong khi vẫn giữ kích thước hình ảnh cân đối với màu nền đỏ
image.rotate(20f, true, Color.getRed());

// Lưu kết quả vào một tệp mới
image.save(destName, new JpegOptions());

Nhận Giấy phép Đánh giá Miễn phí

Bạn có thể yêu cầu giấy phép tạm thời miễn phí để đánh giá API mà không có bất kỳ giới hạn nào.

Sự kết luận

Trong bài viết này, bạn đã học các cách tiếp cận khác nhau để cắt ảnh PSD hoặc xoay nó ở một góc cụ thể. API cung cấp một số tính năng khác để hoạt động với PSD và các định dạng tệp được hỗ trợ khác. Hơn nữa, vui lòng xem Tài liệu API để biết thêm thông tin. Vui lòng liên hệ với chúng tôi tại Diễn đàn hỗ trợ miễn phí nếu bạn có bất kỳ thắc mắc nào.

Xem thêm