Computer >> Máy Tính >  >> Lập trình >> PHP

Làm cách nào để tạo một hình ảnh mới từ tệp JPEG bằng cách sử dụng hàm imageecreatefromjpeg () trong PHP?

imageecreatefromjpeg () là một hàm có sẵn trong PHP được sử dụng để tạo hình ảnh mới từ tệp JPEG. Nó trả về một mã nhận dạng hình ảnh đại diện cho hình ảnh thu được từ tên tệp đã cho.

Cú pháp

resource imagecreatefromjpeg(string $filename)

Tham số

imageecreatefromjpeg () chỉ sử dụng một tham số, $ filename , giữ tên của hình ảnh hoặc đường dẫn đến hình ảnh JPEG.

Giá trị trả lại

imageecreatefromjpeg () trả về một mã định danh tài nguyên hình ảnh khi thành công và nó đưa ra lỗi là sai.

Ví dụ 1

<?php
   // Load an image from local drive/file
   $img = imagecreatefromjpeg('C:\xampp\htdocs\test\1.jpeg');
   
   // it will show the loaded image in the browser
   header('Content-type: image/jpg');
   
   imagejpeg($img);
   
   imagedestroy($img);
?>

Đầu ra

Làm cách nào để tạo một hình ảnh mới từ tệp JPEG bằng cách sử dụng hàm imageecreatefromjpeg () trong PHP?

Ví dụ 2

<?php
   // Load a JPEG image from local drive/file
   $img = imagecreatefromjpeg('C:\xampp\htdocs\test\1(a).jpeg');
   
   // Flip the image
   imageflip($img, 1);
   
   // Save the GIF image in the given path.
   imagejpeg($img,'C:\xampp\htdocs\test\1(b).png');
   imagedestroy($img);
?>

Hình ảnh đầu vào

Làm cách nào để tạo một hình ảnh mới từ tệp JPEG bằng cách sử dụng hàm imageecreatefromjpeg () trong PHP?

Hình ảnh đầu ra

Làm cách nào để tạo một hình ảnh mới từ tệp JPEG bằng cách sử dụng hàm imageecreatefromjpeg () trong PHP?

Giải thích - Trong ví dụ 2, chúng tôi đã tải hình ảnh jpeg từ đường dẫn cục bộ bằng cách sử dụng imageecreatefromjpeg () hàm số. Sau đó, chúng tôi sử dụng hàm imageflip () để lật hình ảnh.

Ví dụ 3 - Xử lý lỗi trong quá trình tải ảnh JPEG

<?php
   function LoadJpeg($imgname) {
      /* Attempt to open */
      $im = @imagecreatefromjpeg($imgname);
     
      /* See if it failed */
      if(!$im) {
         /* Create a black image */
         $im = imagecreatetruecolor(700, 300);
         $bgc = imagecolorallocate($im, 0, 0, 255);
         $tc = imagecolorallocate($im, 255,255, 255);
         imagefilledrectangle($im, 0, 0, 700, 300, $bgc);
         
         /* Output an error message */
         imagestring($im, 20, 80, 80, 'Error loading ' . $imgname, $tc);
      }
      return $im;
   }
   header('Content-Type: image/jpeg');
   $img = LoadJpeg('bogus.image');
   imagejpeg($img);
   imagedestroy($img);
?>

Đầu ra

Làm cách nào để tạo một hình ảnh mới từ tệp JPEG bằng cách sử dụng hàm imageecreatefromjpeg () trong PHP?