programming4:class:image
Khác biệt
Đây là những khác biệt giữa hai phiên bản của trang.
Phiên bản trước của cả hai bênPhiên bản trướcPhiên bản sau | Phiên bản trước | ||
programming4:class:image [2020/11/02 09:27] – [Chuẩn bị] hoaquynhtim99 | programming4:class:image [2020/11/02 10:37] (hiện tại) – hoaquynhtim99 | ||
---|---|---|---|
Dòng 7: | Dòng 7: | ||
- Cài đặt NukeViet 4.4.02 (link tải [[https:// | - Cài đặt NukeViet 4.4.02 (link tải [[https:// | ||
- Cài đặt module mẫu samples ({{ : | - Cài đặt module mẫu samples ({{ : | ||
- | - Dùng class upload ([[programming4: | + | - Dùng class upload ([[programming4: |
===== Hướng dẫn lập trình ===== | ===== Hướng dẫn lập trình ===== | ||
+ | |||
+ | Trong file '' | ||
+ | |||
+ | <code php> | ||
+ | // | ||
+ | // Viết code xử lý chung vào đây | ||
+ | // | ||
+ | </ | ||
+ | |||
+ | Ta tiến hành lập trình xử lý ảnh: | ||
+ | |||
+ | Khởi tạo class Image bằng lệnh | ||
+ | |||
+ | <code php> | ||
+ | $image = new NukeViet\Files\Image(NV_UPLOADS_REAL_DIR . '/ | ||
+ | </ | ||
+ | |||
+ | Trong đó: | ||
+ | * Tham số thứ nhất là đường dẫn tuyệt đối đến ảnh, trong ví dụ này ảnh là nukeviet.png trong thư mục uploads | ||
+ | * Tham số thứ 2, 3 là chiều rộng tối đa và chiều cao tối đa được phép xử lý. Có thể không giới hạn bằng cách bỏ hai tham số này | ||
+ | |||
+ | Sau đó sử dụng theo quy luật sau | ||
+ | |||
+ | <code php> | ||
+ | $image-> | ||
+ | $image-> | ||
+ | $image-> | ||
+ | $image-> | ||
+ | |||
+ | $info = $image-> | ||
+ | </ | ||
+ | |||
+ | Mô tả: | ||
+ | * Đầu tiên gọi ra chức năng xử lý, có thể gọi nhiều lần, các chức năng này được mô tả bên dưới | ||
+ | * Sau khi xử lý các chức năng gọi phương thức lưu '' | ||
+ | * Thư mục lưu ảnh | ||
+ | * Tên ảnh mới, nếu không chỉ ra hệ thống tự động lưu ảnh mới với dạng [tên-ảnh-cũ_rộng_cao].[loại-file] | ||
+ | * Chất lượng ảnh mới, nếu không chỉ ra hệ thống lưu với chất lượng 100%. Giá trị truyền vào từ 1 => 100 | ||
+ | * Cuối cùng kiểm tra '' | ||
+ | |||
+ | ==== Các chức năng xử lý ảnh ==== | ||
+ | |||
+ | === Chỉnh kích thước theo % === | ||
+ | |||
+ | <code php> | ||
+ | $image-> | ||
+ | </ | ||
+ | |||
+ | Tham số tuyền vào là số nguyên, nhỏ nhất = 1. | ||
+ | |||
+ | === Cắt ảnh từ giữa === | ||
+ | |||
+ | <code php> | ||
+ | $image-> | ||
+ | </ | ||
+ | |||
+ | Tham số tuyền vào là kích thước rộng, cao của ảnh mới. | ||
+ | |||
+ | === Cắt ảnh từ bên trái === | ||
+ | |||
+ | <code php> | ||
+ | $image-> | ||
+ | </ | ||
+ | |||
+ | Tham số thứ 1, 2 cho biết khoảng cách từ bên trái và bên trên sẽ bắt đầu cắt ảnh. | ||
+ | Tham số thứ 3, 4 cho biết kích thước rộng, cao cần cắt lấy | ||
+ | |||
+ | === Cắt ảnh từ bên trên === | ||
+ | |||
+ | <code php> | ||
+ | $image-> | ||
+ | </ | ||
+ | |||
+ | Hai tham số truyền vào cho biết kích thước ảnh cần cắt. Hướng cắt từ trái, bên trên. Thương thức cắt ảnh này giống với '' | ||
+ | |||
+ | === Chỉnh kích thước theo hai phương === | ||
+ | |||
+ | <code php> | ||
+ | $image-> | ||
+ | </ | ||
+ | |||
+ | Hai tham số truyền vào là kích thước tối đa cần resize theo phương rộng, cao. Ảnh được resize có tỉ lệ đúng với tỉ lệ của ảnh gốc. | ||
+ | |||
+ | === Tạo bóng đổ === | ||
+ | |||
+ | <code php> | ||
+ | $image-> | ||
+ | </ | ||
+ | |||
+ | Chức năng này tạo ảnh mới có chiều cao gấp rưỡi ảnh gốc, phần cao của ảnh thêm vào có dạng bóng đổ xuống mờ dần. | ||
+ | |||
+ | === Xoay ảnh === | ||
+ | |||
+ | <code php> | ||
+ | $image-> | ||
+ | </ | ||
+ | |||
+ | Tham số tuyền vào giá trị dương hoặc âm từ 0 đến 360 độ. Nếu dương ảnh xoay cùng chiều kim đồng hồ và ngược lại giá trị âm ảnh xuay ngược chiều kim đồng hồ. | ||
+ | |||
+ | === Chèn logo vào ảnh === | ||
+ | |||
+ | <code php> | ||
+ | $config = [ | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ]; | ||
+ | $image-> | ||
+ | </ | ||
+ | |||
+ | Trong đó biến '' | ||
+ | * w => Kích thước chiều rộng logo | ||
+ | * h => Kích thước chiều cao logo | ||
+ | * x => Khoảng cách logo tính từ bên trái của ảnh | ||
+ | * y => Khoảng cách logo tính từ bên trên của ảnh | ||
+ | |||
+ | '' | ||
+ | |||
+ | Các tham số phương '' | ||
+ | * Tham số thứ nhất là đường dẫn tuyệt đối đến logo | ||
+ | * Tham số thứ 2 là 1 trong 3 giá trị left, center, right. Nếu không chỉ ra '' | ||
+ | * Tham số thứ 3 là 1 trong 3 giá trị top, middle, bottom. Nếu không chỉ ra '' | ||
+ | * Tham số thứ 4 là biến '' | ||
+ | |||
+ | === Chèn chữ vào ảnh === | ||
+ | |||
+ | <code php> | ||
+ | $image-> | ||
+ | </ | ||
+ | |||
+ | Trong đó: | ||
+ | * Tham số thứ nhất là nội dung chữ cần chèn | ||
+ | * Tham số thứ 2, 3 cho biết phương của chữ, tương tự như chức năng '' | ||
+ | * Tham số thứ 4 là đường dẫn tuyệt đối đến font chữ cần chèn | ||
+ | * Tham số thứ 5 là kích thước của chữ đơn vị pt | ||
+ | |||
+ | ===== Code mẫu ===== | ||
+ | |||
+ | Tải module chứa code mẫu của bài hướng dẫn tại đây {{ : | ||
programming4/class/image.txt · Sửa đổi lần cuối: 2020/11/02 10:37 bởi hoaquynhtim99