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.
Thêm những dấu đề
Một nhóm hàm đặc biệt cho phép bạn thêm những dấu đề( hoặc chú thích một bản
quyền , một văn bản khác). PHP/GD cho phép bạn thay đổi kiểu phông và kích thước sử
dụng, thậm chí cho phép bạn tải phông theo yêu cầu.
Ví dụ về việc thêm văn bản trong hình ảnh
Bạn thay đổi file showimage.php và file modifyimage.php để thấy những dấu đề
kèm theo hình ảnh.
1. Xác định vị trí mục sau trong file showimage.php và thêm những dòng sau:
<hr>
<p><em><strong>Modifying Your Image</strong></em></p>
<form action=”modifyimage.php” method=”post”>
<p>
Hãy chọn nếu bạn muốn thay đổi hình ảnh với bất kỳ lựa chọn nào dưới
đây. Nếu muốn xem hình ảnh trước khi cất giữ, bận cần đánh nút “back” để trả về
trang này. Lưu hình ảnh với danh sách:<em>Không thế hủy.</em>
</p>
<input name=”id” type=”hidden” value=”<?php echo $image_id; ?>”>
<input name=”bw” type=”checkbox”>black & white<br>
<! INSERT THE FOLLOWING LINE >
<input name=”text” type=”checkbox”>embedded caption<br>
<! END OF INSERTED LINES >
<p align=”center”>
<input type=”submit” name=”action” value=”preview”>
<input type=”submit” name=”action” value=”save”>
</p>
</form>
2. Phông “arial.ttf” được dùng trong bài tập này, nhưng bạn nên dùng phông được
cài đặt trong máy chủ. Nếu thử chạy phiên bản mà không cài đặt phông trên máy chủ, sẽ
báo lỗi. Trong file modifyimage.php, thêm những dòng sau:
<?php
//Kết nối cở sở dữ liệu
$link = mysql_connect(“localhost”, “bp5am”, “bp5ampass”)
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 = $_POST[„id‟];
if (isset($_POST[„bw‟])) {
$bw = $_POST[„bw‟];
} else {
$bw = „‟;
}
$action = $_POST[„action‟];
//**INSERT THE FOLLOWING LINES:
if (isset($_POST[„text‟])) {
$text = $_POST[„text‟];
} else {
$text = „‟;
}
//**END OF INSERT
//get info on the pic we want
$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);
}
//**INSERT THE FOLLOWING LINES:
if ($text == „on‟) {
imagettftext($image, 12, 0, 20, 20, 0, “arial.ttf”, $image_caption);
}
//**END OF INSERT
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);
}
?>
1. Quay lại trang 190Hhttp://localhost/showimage.php?id=1 và xem trước ảnh với
việc”nhúng dấu đề” có đặc tính kiểm tra. Sẽ thấy như Hình 7.5.
Hình 7.5
2. Bạn có thể dễ dàng thêm tự động những chú thích bản quyền hay bất kỳ một văn
bản nào trong ảnh.
Cách thức hoạt động.
Trước tiên, thêm lựa chọn”nhúng dấu đề” trong showimage.php. Sau đó, thêm
hàm imagettftext trong file modifyimage như sau:
//**Bắt đầu chèn:
if ($text == „on‟) {
imagettftext($image, 12, 0, 20, 20, 0, “arial.ttf”, $image_caption);
}
//**Kết thúc chèn
Hàm imagettftext() là một trong nhiều hàm văn bản/chuỗi có sẵn trong
PHP/GD. Hàm tạo 8 giá trị:
1. Hình ảnh nơi chèn văn bản ($image trong ví dụ)
2. Cỡ phông văn bản(trong ví dụ là 12)
3. Sự luân phiên văn bản( trong ví dụ là 0)
4. Tọa độ X là vị trí bắt đầu của văn bản, với 0 là ranh giới( trong ví dụ là 20)
5. Tọa độ y là vị trí bắt đầu của văn bản, với 0 là ranh giới trên của hình ảnh( trong ví
dụ này là 20)
6. Màu sử dụng (trong ví dụ là 0, màu đen)
7. Tên phông, được định vị tự động trong thư mục phông mặc định( Trong ví dụ này
là phông arial.ttf)
8. Chuỗi văn bản được cho thấy( Trong ví dụ là biến image_option)
Trong quá trình làm nhớ phải điền đây đủ 8 giá trị, nếu không sẽ gặp lỗi)
. Ả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.
- 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.
-