Chuyển đổi ảnh JPG/PNG sang WebP bằng PHP

Dưới đây là đoạn code PHP dùng để chuyển đổi hình ảnh từ định dạng JPG, JPEG, hoặc PNG sang định dạng WebP. Đoạn mã này sử dụng thư viện GD của PHP, một thư viện hình ảnh phổ biến và có sẵn trong nhiều môi trường PHP.

Code PHP chuyển đổi JPG, JPEG, PNG sang WebP

Giải thích

  1. Hàm convertToWebP:
    • $source: Đường dẫn đến tệp gốc (JPG, JPEG, hoặc PNG).
    • $destination: Đường dẫn đến tệp WebP sẽ tạo ra.
    • $quality: Chất lượng của file WebP, giá trị từ 0 đến 100 (100 là chất lượng cao nhất). Bạn có thể điều chỉnh tùy theo yêu cầu tối ưu hóa.
  2. Kiểm tra MIME type:
    • Dùng hàm getimagesize() để kiểm tra định dạng ảnh ban đầu (JPG, PNG).
    • Tùy thuộc vào định dạng, hàm sẽ dùng imagecreatefromjpeg() hoặc imagecreatefrompng() để tạo hình ảnh từ tệp gốc.
  3. Chuyển đổi sang WebP:
    • Sử dụng hàm imagewebp() để chuyển đổi ảnh sang định dạng WebP với chất lượng được chỉ định.
  4. Xử lý PNG:
    • Nếu ảnh là PNG, đoạn mã xử lý thêm việc giữ độ trong suốt bằng cách sử dụng các hàm imagealphablending()imagesavealpha().
  5. Xóa bộ nhớ:
    • Sau khi xử lý, hàm imagedestroy() được dùng để giải phóng bộ nhớ đã sử dụng cho hình ảnh.

Cách sử dụng

  • Bạn chỉ cần cung cấp đường dẫn đến tệp gốc và nơi lưu tệp WebP, sau đó gọi hàm convertToWebP() để thực hiện chuyển đổi.
  • Đoạn mã có thể xử lý được cả định dạng JPG, JPEG, và PNG, và trả về tệp WebP với chất lượng bạn mong muốn.

Yêu cầu

  • Máy chủ của bạn cần phải có PHP GD được cài đặt và kích hoạt.
  • Chạy PHP phiên bản tối thiểu từ 5.5 trở lên.

Bạn có thể điều chỉnh tùy ý để phù hợp với dự án của mình!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *