1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng PHP (Hypertext Preprocessing) - Chương 7: Hình ảnh

14 34 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 14
Dung lượng 1,11 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng PHP (Hypertext Preprocessing) - Chương 7: Hình ảnh trình bày các nội dung chính sau: Yêu cầu phần mềm, tạo và vẽ ảnh, vẽ text, co dãn ảnh,... Mời các bạn cùng tham khảo để nắm nội dung chi tiết.

Trang 1

VII Hình ảnh

VII.1 Yêu cầu phần mềm VII.2 Tạo và vẽ ảnh

VII.3 Vẽ Text

VII.4 Co dãn ảnh

Trang 2

VII.1 Yêu cầu phần mềm

 Với PHP bạn có thể sử dụng các hàm graphic để vẽ

ra các hình ảnh và lưu trữ dưới dạng file (GIF, PNG, JPG)

 Để thực hiện được chức năng này, bạn cần phải cài đặt bộ thư viện GD (http://www.boutell.com/gd/ )

 Để biết thư viện GD đã được cài đặt hay chưa, có thể sử dụng hàm phpinfo() hoặc hàm gd_info()

 Đối với bộ PHP full (v5.0) có đầy đủ thư viện PEAR

đi kèm, để chạy GD bạn chỉ việc thiết lập trong file php.ini: extension=php_gd2.dll

Trang 3

VII.2 Tạo và vẽ ảnh

 <! file: caro.php >

<?php

$im = imagecreate(30, 30);

$red = imagecolorallocate($im, 0xff, 0x00, 0x00);

$blue = imagecolorallocate($im, 0x00,0x00,0xff);

$black = imagecolorallocate($im, 0x00, 0x00, 0x00);

imagefilledrectangle($im, 0, 0, 29, 29, $black);

imagefilledrectangle($im, 0,0,15,15,$red);

imagefilledrectangle($im, 15,15,29,29,$blue);

imagejpeg($im);

?>

<! file: 1.html >

<html>

Day la caro <img src="caro.php"/>

</html>

 <?php

$im = imagecreate(30, 30);

$red = imagecolorallocate($im, 0xff, 0x00, 0x00);

$blue = imagecolorallocate($im, 0x00,0x00,0xff);

$black = imagecolorallocate($im, 0x00, 0x00, 0x00);

imagefilledrectangle($im, 0, 0, 29, 29, $black);

imagefilledrectangle($im, 0,0,15,15,$red);

imagefilledrectangle($im, 15,15,29,29,$blue);

imagejpeg($im, "c:/test.jpg" , 100);

?>

<html>

Day cung la caro: <img src = "c:/test.jpg"/>

</html>

Trang 4

VII.2 Tạo và vẽ ảnh (2)

 Các hàm thường sử dụng

resource imagecreate ( int x_size, int y_size ): Tạo ảnh với kích thước x_size * y_size, ảnh ko phải truecolor

imagecolorallocate ( resource image, int red, int green, int

blue ): Sử dụng để định nghĩa 1 màu sẽ xuất hiện trong ảnh Đối với ảnh sử dụng palette, lần gọi đầu tiên sẽ cho màu là màu nền của ảnh

resource imagecreatetruecolor ( int x_size, int y_size ):

Tạo ảnh truecolor

bool imagejpeg ( resource image [, string filename [, int

quality]] )

bool imagepng ( resource image [, string filename] )

bool imagegif ( resource image [, string filename] )

Trang 5

VII.2 Tạo và vẽ ảnh (3)

ImageSetPixel(image, x, y, color);

ImageLine(image, start_x, start_ y, end_x, end_ y, color);

ImageDashedLine(image, start_x, start_ y, end_x, end_ y,

color);

ImageRectangle(image, tlx, tly, brx, bry, color);

ImageFilledRectangle(image, tlx, tly, brx, bry, color);

ImagePolygon(image, points, number, color);

ImageFilledPolygon(image, points, number, color);

ImageArc(image, center_x, center_ y, width, height, start, end, color);

ImageFill(image, x, y, color);

ImageFillToBorder(image, x, y, border_color, color);

Trang 6

VII.3 Vẽ Text

 <?php

$im = imagecreate(100,100);

$white = imagecolorallocate($im, 0xff, 0xff, 0xff); $red = imagecolorallocate($im, 0xff, 0x00, 0x00); imagestring($im, 1, 0, 0, "HUCE", $red);

imagestring($im, 2, 0, 10, "HUCE", $red);

imagestring($im, 3, 0, 20, "HUCE", $red);

imagestring($im, 4, 0, 30, "HUCE", $red);

imagestring($im, 5, 0, 45, "HUCE", $red);

imagestringup($im, 5, 50, 99, "University", $red); imagegif($im);

?>

Trang 7

VII.3 Vẽ Text (2)

<?php

$white = imagecolorallocate ($im, 0xff , 0xff , 0xff ); $red = imagecolorallocate ($im, 0xff , 0x00 , 0x00 ); $blue = imagecolorallocate ($im, 0x00 , 0x00 , 0xff );

imagettftext ($im, 8 , 30 , 10 , 100 , $red,

"Times" , "HUCE - 46pm1" );

imagettftext ($im, 10 , - 30 , 10 , 10 ,$blue,

"Arialni" , "HUCE- 46pm1" );

imagegif ($im);

?>

Trang 8

VII.4 Co dãn ảnh

<?php

imagettftext ($im, 8, 30, 10, 100, $red, "Times" , "HUCE - 46pm1" );

imagettftext ($im, 10, -30, 10, 10, $blue, "Arialni" , "HUCE - 46pm1" );

//imagecopyresized($im2, $im, 0, 0, 0, 0, 200, 200, 100, 100);

imagecopyresampled ($im2, $im, 0, 0, 0, 0, 200, 200, 100, 100);

imagegif ($im2);

?>

Trang 9

VII.5 Màu sắc

VII.5.1 True color & color index VII.5.2 Kênh alpha

Trang 10

VII.5.1 True color & color index

 Ảnh của bạn được tạo bởi các hàm imagecreate() – tạo ảnh sử dụng colorindex trên palette và imagecreatetruecolor () – tạo ảnh truecolor (24bit/pixel)

 Từ GD2.0 trở lên, ta có thể làm việc với kênh alpha (xem phần sau)

 Để lấy màu của điểm ảnh

– $color = ImageColorAt(image, x, y);

– $values = ImageColorsForIndex(image, index);

 Với ảnh truecolor, cấu trúc màu gồm: 7bit alpha, 8bit Red, 8bit Green, 8bit Blue (từ trái qua phải) Có thể sử dụng công thức sau

– $a = ($col & 0x7F000000) >> 24;

$r = ($col & 0x00FF0000) >> 16;

$g = ($col & 0x0000FF00) >> 8;

$b = ($col & 0x000000FF);

Trang 11

VII.5.2 Kênh alpha

 Kênh alpha trong GD chỉ gồm 7bit (giá trị từ 0 đến 127)

 Để sử dụng kênh alpha sử dụng các hàm

– ImageColorResolveAlpha()

– ImageAlphaBlending()

<?php

ImageAlphaBlending ($im, true);

ImageFilledRectangle ($im,0,0,150,150,$white);

ImageFilledEllipse ($im,75,75,80,50,$red);

ImageAlphaBlending ($im, true);

ImageFilledRectangle ($im,60,60,120,120,$gray); header ( 'Content-Type: image/png' );

ImagePNG ($im);

?>

Trang 12

IX XML

IX.1 Tạo văn bản XML IX.2 Đọc XML

Trang 13

IX.1 Tạo văn bản XML

 Cách đơn giản nhất để tạo văn bản XML là đặt lại header của trang PHP

– header('Content-Type: text/xml');

 Sau đó đưa thông tin ra browser bằng các hàm echo, print như bình thường

Trang 14

IX.2 Đọc XML

 <?php

function start_element($inParser, $inName, &$inAttributes) {

var_dump ($inName);

var_dump ($inAttributes);

}

function end_element($inParser, $inName) {

var_dump ($inName);

}

$xml = xml_parser_create ();

xml_set_element_handler ($xml, "start_element" ,

"end_element" );

xml_parse ($xml, "<xml><row name='row1'

atr='attribute1'/></xml>" );

?>

Ngày đăng: 11/01/2020, 19:16

TỪ KHÓA LIÊN QUAN