Lập trình web với PHP - p30

Chia sẻ: Yukogaru | Ngày: | Loại File: PDF | Số trang:9

0
120
lượt xem
86
download

Lập trình web với PHP - p30

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Chương 7 : THAO TÁC VÀ TẠO HÌNH ẢNH VỚI PHP Màu trắng và đen Bây giờ bạn đã có thư mục với nhiều hình ảnh. Nếu muốn cho phép người dùng làm những hình ảnh thành màu trắng và đen. Chúng ta hãy thêm tùy chọn đó vào trang showimage, như vậy người dùng có thể chọn là thấy hay không thấy hình ảnh trong “grayscale”.Banj sẽ sử dụng hàm imagefilter(), để chuyển hình ảnh tới grayscale. Hàm này cũng có thể làm ảnh ngược, độ chói, làm nổi, mờ, làm nhẵn và màu của hình ảnh…Có thể dùng hàm này để...

Chủ đề:
Lưu

Nội dung Text: Lập trình web với PHP - p30

  1. Chương 7 : THAO TÁC VÀ TẠO HÌNH ẢNH VỚI PHP Chương này bao gồm những phần sau: - Có thể vài đặt PHP bao gồm cả thư viện GD. - Cho phép người dùng đưa hình ảnh của họ lên. - Nhận lại thông tin về hình ảnh như loại, kích thước. - Tạo một hình ảnh mới. - Sao chép một ảnh hoặc một phần của ảnh. - Tạo thumbnails(phiên bản thu nhỏ của ảnh). - Tạo một phiên bản ảnh trắng đen. - Thêm hoa văn và tên cho hình. Màu trắng và đen Bây giờ bạn đã có thư mục với nhiều hình ảnh. Nếu muốn cho phép người dùng làm những hình ảnh thành màu trắng và đen. Chúng ta hãy thêm tùy chọn đó vào trang showimage, như vậy người dùng có thể chọn là thấy hay không thấy hình ảnh trong “grayscale”.Banj sẽ sử dụng hàm imagefilter(), để chuyển hình ảnh tới grayscale. Hàm này cũng có thể làm ảnh ngược, độ chói, làm nổi, mờ, làm nhẵn và màu của hình ảnh…Có thể dùng hàm này để làm sạch hoặc tạo ra những phiên bản mới nhất của những bức ảnh uploaded. Ví dụ:Thêm Grayscale Trong bài tập này, chúng ta chỉ thêm những đặc tính imagefilter() vào vị trí, cho phép người dùng tùy chọn để thấy hình ảnh trong graycale 1.Mỡ file showimage.php và thay đổi như sau:
  2. or die(“Could not connect: “ . mysql_error()); mysql_select_db(“moviesite”, $link) or die (mysql_error()); //Làm những biến có sẵn $id = $_REQUEST[„id‟]; //**Những dòng chèn thêm if (isset($_REQUEST[„mode‟])) { $mode = $_REQUEST[„mode‟]; } else { $mode = „‟; } //**Kết thúc dòng chèn //Tạo thông tin chúng ta muốn $getpic = mysql_query(“SELECT * FROM images WHERE image_id = „$id‟”) or die(mysql_error()); $rows = mysql_fetch_array($getpic); extract($rows); $image_filename = “images/” . $image_id . “.jpg”; list($width, $height, $type, $attr) = getimagesize($image_filename); ?> Here is your pic! So how does it feel to be famous?
  3. Here is the picture you just uploaded to our servers: > It is pixels wide and pixels high. It was uploaded on by . Modifying Your Image Please choose if you would like to modify your image with any of the following options. If you would like to preview the image
  4. before saving, you will need to hit your browser‟s „back‟ button to return to this page. Saving an image with any of the modifications listed below cannot be undone.
  5. { $bw = „‟; } $action = $_POST[„action‟]; //tạo thông tin bạn muốn $getpic = mysql_query(“SELECT * FROM images WHERE image_id = „$id‟”) or die(mysql_error()); $rows = mysql_fetch_array($getpic); extract($rows); $image_filename = “images/” . $image_id . “.jpg”; list($width, $height, $type, $attr) = getimagesize($image_filename); $image = imagecreatefromjpeg(“$image_filename”); if ($bw == „on‟) { imagefilter($image, IMG_FILTER_GRAYSCALE); } if ($action == “preview”) { header(“Content-type:image/jpeg”); imagejpeg($image); } if ($action == “save”) { imagejpeg($image, $image_filename); $url = “location:showimage.php?id=”. $id . “&mode=change”; header($url);
  6. } ?> 1. Chúng ta không cần nạp dữ liệu vào hình khác, bởi vì chúng ta không thay đổi gì trong các bước của tiến trình. Chúng ta hãy vào http: // Localhost / showimage.php?id = 1 , bạn sẽ thấy như hình dưới đây Hình 7.4.1 Nếu xem trước hình ảnh trắng đen, bạn sẽ thấy màn hình không có gì. Cố gắng quay lại và lưu file trong màu trắng đen cùng lúc. Hình 7.4.2 Nó làm việc thế nào? Nếu bạn nhìn những dòng bạn thêm trong showiamge.php, bạn thấy những dòng này trước tiên: //**Những dòng chèn thêm
  7. if (isset($_REQUEST[„mode‟])) { $mode = $_REQUEST[„mode‟]; } else { $mode = „‟; } //**Kết thúc dòng chèn Bạn thêm biến vì trong modifyimage.php, bạn gởi đến người dùng quay lại trang này để thấy hình ảnh của họ mới được sửa. Bạn muốn gởi cho họ vài thông tin mà cho phép họ cất giữ thành công.
  8. to return to this page. Saving an image with any of the modifications listed below cannot be undone.
  9. kiểu nội dung trong trang thì trình duyệt sẽ hiểu là văn bản và bạn có một trang đầy rác. Bạn phải thêm vào đầu mục để trình duyệt giải thích dòng hình ảnh chính xác. Vì trình duyệt đang chờ một hình ảnh, nếu gởi bất kỳ một văn bản kèm theo hình ảnh nào, cũng gởi thêm đầu mục thì bạn sẽ nhận được lỗi. Nếu người dùng muốn lưu những thay đổi hình ảnh và click vào “save” khi đang submit, bạn phải thực hiện những dòng sau: if ($action == “save”) { imagejpeg($image, $image_filename); $url = “location:showimage.php?id=”. $id . “&mode=change”; header($url); } Chú ý việc sử dụng kiểu biến( người sử dụng sẽ thấy thông tin văn bản khi trang đưa lên) và filename chỉ rõ trong hàm imagejpeg(). Chỉ rõ filename đến lưu hình ảnh tạm trong thời gian dài. Trong trường hợp này, nó ghi đè lên file có sẵn, làm cho sự chuyển đổi lâu.
Đồng bộ tài khoản