Chỉ cần dán tệp này vào một thư mục có hình ảnh bạn muốn chuyển đổi và thực thi nó thông qua trình duyệt hoặc dòng lệnh
Các định dạng hình ảnh được hỗ trợ
- JPG/JPEG
- PNG
- GIF
- BMP
- WEB
Quan trọng
Hình ảnh có độ trong suốt như PNG và WEBP được chuyển sang JPG với nền trắng nhưng bạn có thể thay đổi màu nếu muốn
Trong bài viết này chúng tôi sẽ hướng dẫn các bạn cách chuyển ảnh JPG-GIF sang PNG trong php. nghe nói chúng tôi sử dụng ________ 15 để chuyển đổi định dạng hình ảnh
Cách sử dụng nó
echo hs_jpg2webp['img/a.jpg','img/b.webp',100];
5imagepng[imagecreatefromstring[file_get_contents[$filename]], "output.png"];
Bạn sẽ sử dụng
echo hs_jpg2webp['img/a.jpg','img/b.webp',100];
7 cho user_image [để lấy tên tệp từ người dùng] và rõ ràng là một user_image đầu ra khác. Nhưng bản thân việc thăm dò định dạng ảnh trở nên dư thừa Chuyển đổi hình ảnh sang hình ảnh khác là một trong những thách thức của các lập trình viên và thậm chí cả người dùng web như quản trị viên web. Trong hướng dẫn này, chúng ta sẽ chuyển đổi định dạng hình ảnh bằng PHP [chuyển đổi JPG sang WebP, PNG sang WebP, GIF sang WebP, WebP sang JPG, WebP sang PNG và WebP sang GIF trong PHP]. Đôi khi không phải trình duyệt nào cũng có thể hỗ trợ các định dạng ảnh như định dạng ảnh WebP. Vì vậy, chúng tôi phải thay đổi nó sang các định dạng được hỗ trợ khác
Có một số trang web để chuyển đổi định dạng cho nhau, nhưng nếu bạn muốn tìm hiểu hậu trường của những chuyển đổi này trong PHP hoặc ví dụ: nếu bạn muốn phát triển plugin chuyển đổi hình ảnh tùy chỉnh cho WordPress, thì hãy ở lại với chúng tôi
Chuyển đổi định dạng hình ảnh
Đây là danh sách chức năng
định dạng hình ảnh
Có hình ảnh ở các định dạng khác nhau, mỗi định dạng đều có ưu điểm và nhược điểm. Ví dụ: một số có chất lượng tốt nhưng kích thước của chúng không phù hợp để đặt trên trang web vì nó làm tăng kích thước trang và tốc độ tải của trang web giảm. Một số có kích thước thấp, nhưng chất lượng của chúng tương đối thấp
Trong hướng dẫn này, chúng tôi sẽ giới thiệu các định dạng hình ảnh và giải thích cách chuyển đổi chúng với nhau trong PHP cùng với các ví dụ thực tế
PHP Chuyển đổi định dạng hình ảnh JPG sang WebP
Định dạng hình ảnh WebP là một định dạng hình ảnh mới được gọi là định dạng hình ảnh thế hệ tiếp theo. Định dạng WebP là định dạng hình ảnh dựa trên văn bản có kích thước thấp hơn định dạng jpg, png hoặc gif
Trong phần này, chúng tôi sử dụng hàm
echo hs_jpg2webp['img/a.jpg','img/b.webp',100];
2 để chuyển đổi định dạng tệp JPG sang WebP. Hàm này xuất file dưới dạng WebP ta có thể xem trên trình duyệt hoặc lưu vào fileBạn có thể sử dụng đoạn mã sau để chuyển đổi tệp JPG thành WebP trong PHP
function hs_jpg2webp[$source_file, $destination_file, $compression_quality = 100]
{
$image = imagecreatefromjpeg[$source_file];
$result = imagewebp[$image, $destination_file, $compression_quality];
if [false === $result] {
return false;
}
imagedestroy[$image];
return $destination_file;
}
Hàm này có ba đối số
- Tham số source_file là đường dẫn của hình ảnh mà chúng ta muốn chuyển đổi sang WebP và nó phải ở định dạng jpg
- Tham số Destination_file là đường dẫn của ảnh mà chúng ta đã convert từ định dạng JPG sang WebP, phải có đuôi là WebP
- Đối số nén_chất lượng là chất lượng của hình ảnh cuối cùng. Con số này phải nằm trong khoảng từ 0 đến 100, con số này quyết định chất lượng của hình ảnh cuối cùng
sử dụng chức năng
echo hs_jpg2webp['img/a.jpg','img/b.webp',100];
Sử dụng chức năng này, trước tiên chúng tôi đọc tệp hình ảnh ở định dạng JPG bằng đường dẫn chúng tôi nhận được từ tham số. Sau đó, chúng tôi chuyển đổi nó thành WebP bằng hàm
echo hs_jpg2webp['img/a.jpg','img/b.webp',100];
2Chuyển đổi định dạng hình ảnh PNG sang WebP
Định dạng ảnh PNG, giống như JPG, là một trong những định dạng phổ biến được sử dụng trên trang web. Định dạng JPG không hỗ trợ nền trong suốt, vì vậy bất cứ nơi nào chúng tôi muốn nền của hình ảnh trong suốt, chúng tôi sử dụng định dạng PNG. Ví dụ: logo của trang web là một trong những hình ảnh được sử dụng trong PNG. Nhưng vấn đề mà PNG so với JPG là kích thước của hình ảnh. Kích thước hình ảnh PNG lớn hơn một chút so với JPG
function hs_png2webp[$source_file, $destination_file, $compression_quality = 100]
{
$image = imagecreatefrompng[$source_file];
imagepalettetotruecolor[$image];
imagealphablending[$image, true];
imagesavealpha[$image, true];
$result = imagewebp[$image, $destination_file, $compression_quality];
if [false === $result] {
return false;
}
imagedestroy[$image];
return $destination_file;
}
Hàm này có ba đối số
- Tham số source_file là đường dẫn đến ảnh PNG mà chúng ta muốn chuyển đổi. Tệp này phải ở định dạng png
- Tham số Destination_file là đường dẫn của ảnh mà ta muốn chuyển từ định dạng PNG sang WebP phải có đuôi là WebP
- Đối số nén_chất lượng là chất lượng của hình ảnh cuối cùng. Con số này phải nằm trong khoảng từ 0 đến 100, con số này quyết định chất lượng của hình ảnh cuối cùng
sử dụng chức năng
echo hs_png2webp['img/a.png','img/b.webp',100];
Trong ví dụ này, hàm convert file định dạng PNG sang định dạng WebP
Chuyển đổi định dạng ảnh GIF sang WebP
Hình ảnh định dạng GIF là một hình ảnh động nhỏ giống như một công cụ quay vòng để tải trang. Có thể chuyển đổi hình ảnh lớn thành GIF, nhưng nó sẽ không phù hợp với trang web. Ảnh GIF chủ yếu dùng để tạo ảnh động đơn giản
Hàm sau dùng để chuyển định dạng GIF sang WebP
function hs_gif2webp[$source_file, $destination_file, $compression_quality = 100]
{
$image = imagecreatefromgif[$source_file];
imagepalettetotruecolor[$image];
$result = imagewebp[$image, $destination_file, $compression_quality];
if [false === $result] {
return false;
}
imagedestroy[$image];
return $destination_file;
}
Hàm này có ba đối số
- Tham số source_file là đường dẫn đến ảnh GIF mà chúng ta muốn chuyển đổi. Tệp này phải ở định dạng gif
- Tham số Destination_file là đường dẫn của ảnh mà chúng ta muốn chuyển từ định dạng GIF sang WebP phải có đuôi là WebP
- Đối số nén_chất lượng là chất lượng của hình ảnh cuối cùng. Con số này phải nằm trong khoảng từ 0 đến 100, con số này quyết định chất lượng của hình ảnh cuối cùng
sử dụng chức năng
________số 8Hàm này chuyển file ảnh định dạng GIF sang WebP trong PHP
Chuyển đổi WebP sang JPG trong PHP
Webp là định dạng hình ảnh thế hệ tiếp theo được tạo bởi Google nhưng nó có nhược điểm riêng. Ví dụ: một số trình duyệt không hỗ trợ định dạng này trong các phiên bản cũ hơn
Trong ví dụ trên, chúng ta đã học cách chuyển định dạng JPG sang WebP trong PHP. Bây giờ chúng tôi muốn chuyển đổi WebP sang JPG. Đối với điều này, chúng tôi sử dụng đoạn mã sau
function hs_webp2jpg[$source_file, $destination_file, $compression_quality = 100]
{
$image = imagecreatefromwebp[$source_file];
$result = imagejpeg[$image, $destination_file, $compression_quality];
if [false === $result] {
return false;
}
imagedestroy[$image];
return $destination_file;
}
Hàm này nhận 3 đối số giống như hàm trên và chuyển file định dạng WebP sang JPG
- Tham số source_file là đường dẫn đến ảnh WebP mà chúng ta muốn chuyển đổi. Tệp này phải ở định dạng WebP
- Tham số Destination_file là đường dẫn của ảnh mà chúng ta muốn chuyển định dạng WebP sang JPG phải có đuôi jpg
- Đối số nén_chất lượng là chất lượng của hình ảnh cuối cùng. Con số này phải nằm trong khoảng từ 0 đến 100, con số này quyết định chất lượng của hình ảnh cuối cùng
sử dụng chức năng
echo hs_jpg2webp['img/a.jpg','img/b.webp',100];
0PHP Chuyển đổi WebP sang PNG
Ở trên chúng ta đã biết cách chuyển định dạng PNG sang WebP, bây giờ chúng ta muốn chuyển định dạng ảnh WebP sang PNG bằng hàm sau
echo hs_jpg2webp['img/a.jpg','img/b.webp',100];
1Hàm này có ba đối số
- Tham số source_file là đường dẫn đến ảnh WebP mà chúng ta muốn chuyển sang png. Tệp này phải ở định dạng WebP
- Tham số Destination_file là đường dẫn của ảnh mà chúng ta muốn chuyển từ định dạng WebP sang png, phải có đuôi png
- Đối số nén_chất lượng là chất lượng của hình ảnh cuối cùng. Con số này phải nằm trong khoảng từ 0 đến 9, xác định chất lượng của hình ảnh cuối cùng
sử dụng chức năng
echo hs_jpg2webp['img/a.jpg','img/b.webp',100];
2Chuyển đổi WebP thành GIF trong PHP
Như chúng tôi đã nói, định dạng gif được sử dụng cho hình ảnh chuyển động và hoạt hình, nhưng hình ảnh ở định dạng WebP không hỗ trợ hình ảnh chuyển động. Nên khi chuyển WebP sang gif thì hình ảnh cuối cùng ở định dạng gif sẽ không được động. Chúng tôi sử dụng chức năng sau để chuyển đổi hình ảnh
echo hs_jpg2webp['img/a.jpg','img/b.webp',100];
0Hàm này có ba đối số
- Tham số source_file là đường dẫn đến ảnh WebP mà chúng ta muốn chuyển sang png. Tệp này phải ở định dạng WebP
- Tham số Destination_file là đường dẫn của ảnh mà chúng ta muốn chuyển từ định dạng WebP sang png, phải có đuôi png
- Đối số colors_count là để chỉ định số lượng màu sẽ được sử dụng trong định dạng gif
Ở chức năng này, màu sắc có thể khác so với ảnh gốc do chức năng này chọn màu gần với màu gốc trong ảnh. Một điều nữa là số lượng màu ở định dạng WebP là không giới hạn, trong khi số lượng màu ở định dạng gif bị hạn chế
sử dụng chức năng
echo hs_jpg2webp['img/a.jpg','img/b.webp',100];
1Phần kết luận
Bạn có thể dễ dàng tạo một công cụ để chuyển đổi hình ảnh sang hình ảnh khác bằng các chức năng và mã ở trên hoặc thậm chí bạn có thể thiết kế một plugin cho WordPress và cung cấp cho người dùng.