Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Cách tạo hình ảnh mới từ file JPEG bằng imagecreatefromjpeg() trong PHP

imagecreatefromjpeg() là hàm tích hợp sẵn trong PHP dùng để tạo hình ảnh mới từ file JPEG. Trả về mã định danh hình ảnh đại diện cho hình ảnh từ tên file cho trước.

Cú pháp

resource imagecreatefromjpeg(string $filename)

Tham số

imagecreatefromjpeg() chỉ dùng một tham số: $filename, chứa tên hình ảnh hoặc đường dẫn đến file JPEG.

Giá trị trả về

imagecreatefromjpeg() trả về mã định danh tài nguyên hình ảnh khi thành công, báo lỗi khi false.

Ví dụ 1

<?php 
// Tải hình ảnh từ file cục bộ
$img = imagecreatefromjpeg('C:\xampp\htdocs\test\1.jpeg');
// Hiển thị hình ảnh trong trình duyệt
header('Content-type: image/jpg');
imagejpeg($img);
imagedestroy($img);
?>

Kết quả

Cách tạo hình ảnh mới từ file JPEG bằng imagecreatefromjpeg() trong PHP

Ví dụ 2

<?php 
// Tải hình ảnh JPEG từ file cục bộ
$img = imagecreatefromjpeg('C:\xampp\htdocs\test\1(a).jpeg');
// Lật hình ảnh
imageflip($img, 1);
// Lưu hình ảnh GIF vào đường dẫn cho trước
imagejpeg($img, 'C:\xampp\htdocs\test\1(b).png');
imagedestroy($img);
?>

Hình ảnh đầu vào

Cách tạo hình ảnh mới từ file JPEG bằng imagecreatefromjpeg() trong PHP

Hình ảnh đầu ra

Cách tạo hình ảnh mới từ file JPEG bằng imagecreatefromjpeg() trong PHP

Giải thích - Trong ví dụ 2, tải hình ảnh JPEG từ đường dẫn cục bộ bằng imagecreatefromjpeg(). Sau đó dùng imageflip() để lật hình ảnh.

Ví dụ 3 - Xử lý lỗi khi tải hình ảnh JPEG

<?php 
function LoadJpeg($imgname) {
    // Thử mở file
    $im = @imagecreatefromjpeg($imgname);
    // Kiểm tra thất bại
    if (!$im) {
        // Tạo hình ảnh đen
        $im = imagecreatetruecolor(700, 300);
        $bgc = imagecolorallocate($im, 0, 0, 255);
        $tc = imagecolorallocate($im, 255, 255, 255);
        imagefilledrectangle($im, 0, 0, 700, 300, $bgc);
        // Hiển thị thông báo lỗi
        imagestring($im, 20, 80, 80, 'Error loading ' . $imgname, $tc);
    }
    return $im;
}
header('Content-Type: image/jpeg');
$img = LoadJpeg('bogus.image');
imagejpeg($img);
imagedestroy($img);
?>

Kết quả

Cách tạo hình ảnh mới từ file JPEG bằng imagecreatefromjpeg() trong PHP