Tạo thumbnail và xử lý ảnh

Website

Thư viện hỗ trợ tạo thumbnail, lật ảnh, thay đổi kích thước ảnh, thêm hiệu ứng, watermark...

Khai báo thư viện

$soc->use_image();

Tạo thumbnail

$soc->image->open('../upload/abc.jpg'); // Mở file ảnh abc.jpg (VD: 400x300px)  
$soc->image->thumbnail(50, 50); // Tạo thumbnail có kích thước 50x50px  
$soc->image->saveAs('../upload/abc-thumbnail.jpg', 100); // Lưu ảnh thumbnail với chất lượng 100 (từ 0 đến 100)

Nâng cao

// Tạo ảnh trắng với kích thước và màu sắc do bạn tự quyết định
$soc->image->blank($width, $height, $color);

// Sau khi xử lý, lưu cập nhật vào ảnh gốc đã mở với chất lượng mặc định hoặc chất lượng khác
$soc->image->save();
$soc->image->save(80);

// Không lưu vào file mà hiển thị ảnh ra trình duyệt
$soc->image->show();

// Lật ảnh theo trục X
$soc->image->flipX();

// Lật ảnh theo trục Y
$soc->image->flipY();

// Xoay ảnh ($degress số dương là theo chiều kim đồng hồ)
$soc->image->rotate($degrees);

// Thay đổi kích thước ảnh theo width (height tự tính theo tỷ lệ)
$soc->image->resizeByWidth($new_width);

// Thay đổi kích thước ảnh theo height (width tự tính theo tỷ lệ)
$soc->image->resizeByHeight($new_height);

// Thay đổi kích thước ảnh (ảnh sẽ bị méo nếu khác tỷ lệ)
$soc->image->resize($new_width, $new_height);

// Cắt ảnh theo hình chữ nhật được tạo ra từ đường chéo của 2 điểm ($x1, $y1) và ($x2, $y2)
$soc->image->crop($x1, $y1, $x2, $y2);

// Tô màu cho ảnh
$soc->image->fill($color);

// Chuyển ảnh thành đen trắng
$soc->image->desaturate();

// Chuyển màu đối lập
$soc->image->invert();

// Tăng giảm sáng tối (từ -255 đến 255)
$soc->image->brightness($value);

// Tăng giảm độ tương phản (từ -100 đến 100)
$soc->image->contrast($value);

// Chỉnh màu sắc phủ và opacity (từ 0.0 đến 1.0)
$soc->image->colorize($color, $opacity);

// Hiệu ứng edges
$soc->image->edges();

// Hiệu ứng emboss
$soc->image->emboss();

// Bỏ filter mean
$soc->image->meanRemove();

// Làm mở
$soc->image->blur();

// Làm mở theo gaussian
$soc->image->blurGaussian($value);

// Hiệu ứng hình vẽ (hình phát thảo)
$soc->image->sketch();

// Smooth (từ -10 đến 10)
$soc->image->smooth($value);

// Hiệu ứng pixelate (truyền vào số px)
$soc->image->smooth($value);

// Hiệu ứng sepia
$soc->image->sepia();

// Opacity (từ 0.0 đến 1.0)
$soc->image->opacity($value);

// Watermark
// $watermark_path: đường dẫn file ảnh
// $position: center, top, right, bottom, left, top left, top right, bottom left, bottom right
// $opacity: từ 0.0 đến 1.0
$soc->image->watermark($watermark_path, $position, $opacity, $margin_horizontal, $margin_vertical);

// Viết chữ lên ảnh
$soc->image->addText($text, $font_path, $font_size, $color, $position, $margin_horizontal, $margin_vertical);

// Lấy chiều rộng
$soc->image->getWidth();

// Lấy chiều cao
$soc->image->getHeight();

// Lấy tất cả thông tin của ảnh, kết quả trả về là mảng
$soc->image->getInfo();

// Lấy khổ ảnh: portrait, landscape, square
$soc->image->getOrientation();

// Lấy đuôi ảnh
$soc->image->getExtension(); // Lấy đuôi ảnh đang mở
$soc->image->getExtension($path); // Lấy đuôi ảnh từ $path

// Lấy đuôi ảnh
$soc->image->temp_upload($var_name, $temp_dir='../upload/tmp/'); // Upload ảnh từ $_FILES[$var_name] vào thư mục tạm
$soc->image->temps_upload($var_name, $temp_dir='../upload/tmp/'); // Upload nhiều ảnh từ $_FILES[$var_name] vào thư mục tạm

Tính Nguyễn

Gia nhập: 27-01-2016 Tính Nguyễn

Chuyên thiết kế mọi loại website.