Để thêm watermark cho hình ảnh trong CodeIgniter, bạn có thể sử dụng thư viện Image Manipulation tích hợp sẵn. Thư viện này hỗ trợ các thao tác như cắt, thay đổi kích thước và đóng dấu watermark cho hình ảnh.

Dưới đây là các bước chi tiết để thêm watermark cho hình ảnh trong CodeIgniter:

1. Cấu Hình Thư Viện Image Manipulation

Trước khi bạn có thể sử dụng thư viện Image Manipulation, hãy đảm bảo rằng bạn đã tải nó trong controller.

$this->load->library('image_lib');

2. Cài Đặt Watermark cho Hình Ảnh

Dưới đây là ví dụ về cách thêm watermark văn bản hoặc watermark hình ảnh cho một hình ảnh trong CodeIgniter.

Thêm Watermark Văn Bản

Bạn có thể sử dụng watermark dưới dạng văn bản bằng cách cấu hình như sau:

$config['source_image'] = './uploads/image.jpg'; // Đường dẫn tới hình ảnh gốc
$config['wm_text'] = 'Watermark của tôi'; // Nội dung watermark
$config['wm_type'] = 'text'; // Kiểu watermark là text
$config['wm_font_path'] = './system/fonts/texb.ttf'; // Đường dẫn tới font chữ
$config['wm_font_size'] = '16'; // Kích cỡ font chữ
$config['wm_font_color'] = 'ffffff'; // Màu chữ
$config['wm_vrt_alignment'] = 'middle'; // Căn giữa theo chiều dọc
$config['wm_hor_alignment'] = 'center'; // Căn giữa theo chiều ngang
$config['wm_padding'] = '20'; // Khoảng cách padding giữa chữ và mép hình ảnh

$this->load->library('image_lib', $config); // Khởi tạo thư viện với cấu hình
if (!$this->image_lib->watermark()) {
    echo $this->image_lib->display_errors();
}

Thêm Watermark Hình Ảnh

Nếu bạn muốn sử dụng một hình ảnh nhỏ để làm watermark, hãy cấu hình như sau:

$config['source_image'] = './uploads/image.jpg'; // Đường dẫn tới hình ảnh gốc
$config['wm_type'] = 'overlay'; // Kiểu watermark là overlay (sử dụng hình ảnh)
$config['wm_overlay_path'] = './uploads/watermark.png'; // Đường dẫn tới file watermark
$config['wm_opacity'] = 50; // Độ mờ của watermark (50%)
$config['wm_vrt_alignment'] = 'bottom'; // Căn dưới cùng theo chiều dọc
$config['wm_hor_alignment'] = 'right'; // Căn phải theo chiều ngang
$config['wm_padding'] = '20'; // Khoảng cách padding giữa watermark và mép hình ảnh

$this->load->library('image_lib', $config); // Khởi tạo thư viện với cấu hình
if (!$this->image_lib->watermark()) {
    echo $this->image_lib->display_errors();
}

3. Giải Thích Cấu Hình

  • source_image: Đường dẫn tới hình ảnh bạn muốn thêm watermark.
  • wm_type: Xác định kiểu watermark, có thể là text (văn bản) hoặc overlay (hình ảnh).
  • wm_text: Văn bản sẽ được hiển thị dưới dạng watermark (chỉ khi wm_typetext).
  • wm_overlay_path: Đường dẫn tới hình ảnh watermark (khi wm_typeoverlay).
  • wm_font_path: Đường dẫn tới font chữ (nếu sử dụng văn bản).
  • wm_font_size: Kích cỡ của font chữ.
  • wm_font_color: Màu của văn bản dưới dạng mã màu hex (ví dụ: ffffff là màu trắng).
  • wm_vrt_alignment: Vị trí căn chỉnh theo chiều dọc (top, middle, bottom).
  • wm_hor_alignment: Vị trí căn chỉnh theo chiều ngang (left, center, right).
  • wm_opacity: Độ mờ của watermark (chỉ áp dụng cho hình ảnh overlay).
  • wm_padding: Khoảng cách giữa watermark và mép hình ảnh.

4. Lưu Ý Khi Sử Dụng

  • Hãy đảm bảo rằng thư viện GD2 hoặc ImageMagick được cài đặt trên máy chủ để sử dụng thư viện Image Manipulation trong CodeIgniter.
  • Đảm bảo rằng các đường dẫn tới hình ảnh (bao gồm cả hình ảnh gốc và watermark) là chính xác.
  • Hãy kiểm tra quyền ghi trên thư mục chứa hình ảnh, vì CodeIgniter cần quyền ghi để lưu ảnh sau khi xử lý.

5. Kết Luận

Việc thêm watermark cho hình ảnh trong CodeIgniter khá đơn giản với thư viện Image Manipulation. Bạn có thể tùy chỉnh để thêm watermark bằng văn bản hoặc hình ảnh, cũng như cấu hình vị trí và độ mờ của watermark theo nhu cầu của mình. Hãy đảm bảo cấu hình chính xác và kiểm tra kỹ lưỡng để tránh lỗi.