1. Home
  2.   Heic
  3.   Openize.HEIC cho Java
Openize.HEIC cho Java

Openize.HEIC cho Java

 
 

Đơn giản hóa quá trình đọc và chuyển đổi hình ảnh HEIC bằng Java API

Dễ dàng chỉnh sửa hình ảnh với Openize.HEIC, một Java API mã nguồn mở nhẹ, giúp đơn giản hóa việc chuyển đổi và tự động hóa các tệp HEIC

Openize.HEIC cho Java cách mạng hóa trải nghiệm xử lý hình ảnh HEIC của bạn. Trong hướng dẫn toàn diện này, chúng tôi đi sâu vào các chức năng và lợi ích của việc tận dụng Openize.HEIC, một API Java mã nguồn mở nhẹ, để dễ dàng xử lý các tệp HEIC một cách dễ dàng.

HEIC, viết tắt của Định dạng tệp hình ảnh hiệu quả cao với hình ảnh được mã hóa HEVC (Mã hóa video hiệu quả cao), là định dạng hình ảnh hiện đại được phát triển để thay thế JPEG làm định dạng hình ảnh mặc định trên thiết bị iOS. Mặc dù HEIC cung cấp chất lượng hình ảnh và khả năng nén vượt trội nhưng khả năng tương thích của nó trên các nền tảng vẫn là một thách thức. Nhiều ứng dụng và nền tảng thiếu hỗ trợ gốc cho HEIC, khiến việc xem hoặc chỉnh sửa các tệp này mà không cần chuyển đổi trở nên khó khăn.

Openize.HEIC nổi lên như một giải pháp mạnh mẽ để chuyển đổi liền mạch các tệp HEIC sang nhiều định dạng khác nhau, bao gồm JPG, PNG, PDF, v.v. API Java mã nguồn mở nhẹ này đơn giản hóa các thao tác hình ảnh HEIC, cung cấp cho nhà phát triển và người dùng giao diện thân thiện với người dùng để xử lý các tệp HEIC một cách dễ dàng.

Openize.HEIC được cung cấp theo Giấy phép mở.< /p>

Các tính năng và lợi ích chính

  • Chuyển đổi dễ dàng: Chuyển đổi tệp HEIC sang các định dạng phổ biến như JPG và PNG chỉ bằng một vài dòng mã.
  • Tích hợp bộ giải mã HEVC: Sử dụng bộ giải mã HEVC tích hợp để giải mã các tệp HEIC, đảm bảo chuyển đổi chính xác và đáng tin cậy.
  • Hỗ trợ định dạng mở rộng: Chuyển đổi tệp HEIC sang nhiều định dạng khác nhau, bao gồm PDF và WEBP, cho phép sử dụng linh hoạt trên nhiều nền tảng và ứng dụng khác nhau.
  • Nguồn mở và miễn phí: Tận hưởng lợi ích của giải pháp nguồn mở mà không phải trả phí cấp phép, giúp các nhà phát triển và người dùng ở mọi cấp độ có thể truy cập được.
  • Tích hợp liền mạch với các ứng dụng Java: Tích hợp Openize.HEIC dễ dàng vào các ứng dụng Java của bạn, cho phép xử lý tệp HEIC liền mạch trong quy trình làm việc hiện tại của bạn.

Previous Next

Cách bắt đầu với Openize.HEIC cho Java

Việc bắt đầu với Openize.HEIC rất nhanh chóng và dễ dàng. Chỉ cần làm theo các bước sau:

  • Cài đặt Openize.HEIC: Cài đặt gói Openize.HEIC qua Maven/Gradle.
  • Hợp nhất với Dự án của bạn: Tham chiếu thư viện Openize.HEIC trong dự án Java của bạn.
  • Bắt đầu chuyển đổi: Sử dụng API đơn giản được cung cấp bởi Openize.HEIC để chuyển đổi các tệp HEIC sang định dạng bạn mong muốn.

Cách cài đặt Openize.HEIC cho Java được khuyến nghị là sử dụng Maven/Gradle. Vui lòng sử dụng lệnh sau để cài đặt mượt mà.

Cài đặt Openize.HEIC cho Java qua Maven

Đầu tiên, bạn cần chỉ định cấu hình / vị trí của Aspose Maven Repository trong tệp Maven pom.xml của bạn như sau:

<repositories>
    <repository>
        <id>AsposeJavaRepo</id>
        <name>Aspose Java Repository</name>
        <url>https://releases.aspose.com/java/repo/</url>
    </repository>
</repositories>
Tiếp theo, định nghĩa phụ thuộc trong tệp pom.xml của bạn như sau:

<dependencies>
    <dependency>
        <groupId>openize</groupId>
        <artifactId>openize-heic</artifactId>
        <version>25.4</version>
    </dependency>

    
    <dependency>
        <groupId>openize</groupId>
        <artifactId>openize-heic</artifactId>
        <version>25.4</version>
        <classifier>javadoc</classifier>
    </dependency>
</dependencies>
Bạn cũng có thể tải nó trực tiếp từ GitHub.

Đọc Tệp HEIC vào Mảng trong Java

Đoạn mã này tải tệp hình ảnh HEIC một cách hiệu quả, trích xuất dữ liệu pixel theo định dạng chỉ định và lưu trữ vào một mảng để thực hiện các thao tác tiếp theo.

  • Mở tệp HEIC có tên "filename.heic" bằng IOFileStream.
  • Tải hình ảnh HEIC từ dòng tệp vào đối tượng HeicImage.
  • Trích xuất dữ liệu pixel từ hình ảnh HEIC theo định dạng ARGB32 và lưu trữ vào một mảng số nguyên.

Sao chép và dán đoạn mã dưới đây vào tệp chính của bạn và thực thi chương trình.

Đọc tệp .heic vào mảng int với dữ liệu Argb32

 
try (IOFileStream fs = new IOFileStream("filename.heic", IOMode.READ))
{
    HeicImage image = HeicImage.load(fs);
    int[] pixels = image.getInt32Array(openize.heic.decoder.PixelFormat.Argb32);
}

Đọc Tệp HEIC vào BufferedImage trong Java và Lưu vào JPEG bằng Java ImageIO

Đoạn mã sau đây minh họa cách đọc một tệp hình ảnh HEIC hiện có, trích xuất dữ liệu pixel của nó, và tạo đối tượng BufferedImage để xử lý và lưu vào định dạng JPEG:

  • Mở tệp HEIC có tên "filename.heic" bằng IOFileStream.
  • Tải hình ảnh HEIC từ dòng tệp vào đối tượng HeicImage.
  • Trích xuất dữ liệu pixel từ hình ảnh HEIC theo định dạng ARGB32 và lưu trữ vào một mảng.
  • Lấy chiều rộng và chiều cao của hình ảnh HEIC.
  • Tạo đối tượng BufferedImage với chiều rộng, chiều cao và định dạng pixel đã chỉ định.
  • Ghi dữ liệu pixel đã trích xuất vào đối tượng BufferedImage.
  • Lưu đối tượng BufferedImage vào tệp JPEG.

Sao chép và dán đoạn mã dưới đây vào tệp chính của bạn và thực thi chương trình.

Đọc tệp .heic vào BufferedImage

 
try (IOFileStream fs = new IOFileStream("filename.heic", IOMode.READ))
{
    HeicImage image = HeicImage.load(fs);
     
    int[] pixels = frames.get(key).getInt32Array(PixelFormat.Argb32);
    var width = (int)image.Width;
    var height = (int)image.Height;
    
    BufferedImage image2 = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
    image2.setRGB(0, 0, width, height, pixels, 0, width);
    ImageIO.write(image2, "JPEG", new File("output.jpg"));
}

Đọc Tệp HEIC vào BufferedImage trong Java và Lưu vào PNG bằng Java ImageIO

Đoạn mã sau đây minh họa cách đọc một tệp hình ảnh HEIC hiện có, trích xuất dữ liệu pixel của nó, và tạo đối tượng BufferedImage để xử lý và lưu vào định dạng PNG:

  • Mở tệp HEIC có tên "filename.heic" bằng IOFileStream.
  • Tải hình ảnh HEIC từ dòng tệp vào đối tượng HeicImage.
  • Trích xuất dữ liệu pixel từ hình ảnh HEIC theo định dạng ARGB32 và lưu trữ vào một mảng.
  • Lấy chiều rộng và chiều cao của hình ảnh HEIC.
  • Tạo đối tượng BufferedImage với chiều rộng, chiều cao và định dạng pixel đã chỉ định.
  • Ghi dữ liệu pixel đã trích xuất vào đối tượng BufferedImage.
  • Lưu đối tượng BufferedImage vào tệp PNG.

Sao chép và dán đoạn mã dưới đây vào tệp chính của bạn và thực thi chương trình.

Đọc tệp .heic vào BufferedImage

 
try (IOFileStream fs = new IOFileStream("filename.heic", IOMode.READ))
{
    HeicImage image = HeicImage.load(fs);
     
    int[] pixels = frames.get(key).getInt32Array(PixelFormat.Argb32);
    var width = (int)image.Width;
    var height = (int)image.Height;
    
    BufferedImage image2 = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
    image2.setRGB(0, 0, width, height, pixels, 0, width);
    ImageIO.write(image2, "PNG", new File("output.png"));
}

Chuyển đổi Bộ sưu tập HEIC thành một tập hợp các tệp PNG theo chương trình trong Java

Đoạn mã dưới đây minh họa cách tải tệp hình ảnh bộ sưu tập HEIC theo chương trình, chuyển đổi nó thành một tập hợp các tệp PNG và lưu nó bằng Java. Dưới đây là các bước thực hiện:

  • Mở tệp HEIC có tên "filename.heic" ở chế độ đọc bằng FileStream.
  • Tải hình ảnh HEIC từ dòng tệp vào đối tượng HeicImage.
  • Đối với mỗi khung hình của hình ảnh, thực hiện các bước sau:
    • Lấy chiều rộng và chiều cao của khung hình HEIC.
    • Trích xuất dữ liệu pixel từ khung hình HEIC theo định dạng ARGB32, lưu trữ vào một mảng int.
    • Tạo một đối tượng BufferedImage với chiều rộng, chiều cao, DPI, và định dạng pixel đã chỉ định.
    • Ghi dữ liệu pixel đã trích xuất vào đối tượng BufferedImage.
    • Lưu đối tượng BufferedImage vào tệp "output.png".

Sao chép và dán đoạn mã dưới đây vào tệp chính của bạn và thực thi chương trình.

Chuyển đổi bộ sưu tập .heic thành một tập hợp các tệp .png

 
try (IOFileStream fs = new IOFileStream("filename.heic", IOMode.READ))
{
    HeicImage image = HeicImage.load(fs);

    final Map frames = image.getFrames();
    for (Long key : frames.keySet())
    {
        int width = (int)frames.get(key).getWidth();
        int height = (int)frames.get(key).getHeight();
        int[] pixels = frames.get(key).getInt32Array(PixelFormat.Argb32);

        BufferedImage image2 = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
        image2.setRGB(0, 0, width, height, pixels, 0, width);
        ImageIO.write(image2, "PNG", new File("output"+key+".png"));
    }
}

Openize.HEIC cung cấp một API trực quan, hỗ trợ định dạng toàn diện và tích hợp mượt mà với các ứng dụng Java, giúp các nhà phát triển và người dùng dễ dàng quản lý tệp HEIC. Cho dù bạn đang chuyển đổi tệp HEIC cho việc sử dụng trên web, lưu trữ ảnh iPhone vào PC, hay chia sẻ chúng trên các nền tảng khác nhau, Openize.HEIC đơn giản hóa quá trình này, đảm bảo hiệu suất và chất lượng tối ưu ở mọi bước.

Khám phá kho GitHub của chúng tôi để đóng góp, đề xuất cải tiến và nâng cao API Open Source này: Openize.HEIC cho Java

 Tiếng Việt