Hướng dẫn dùng color representation trong PHP

Trong thiết kế website, để có được một sản phẩm có thẩm mỹ điều không thể thiếu là cách sử dụng màu sắc hợp lý.Màu trong HTML & CSS được xác định theo các cách sau:

Nội dung chính

  • Xác định màu theo hệ thập lục phân – HEX
  • Xác định màu theo kết hợp màu RGB
  • Xác định màu theo tên tiếng anh
  • 1.1. Hàm khởi tạo mặc định (default constructor)
  • 1.2. Hàm khởi tạo có tham số (parameterized constructor)
  • 1.3. Hàm khởi tạo sao chép (copy constructor)
  • 2. Hàm hủy (destructor) của class trong PHP

Xác định màu theo hệ thập lục phân – HEXXác định màu theo kết hợp màu RGBXác định màu theo tên tiếng anh


Xác định màu theo hệ thập lục phân – HEX

HEX là viết tắc của từ “hexadecimal”.

Cách viết: gồm dấu “#” kết hợp với dãy ký tự Latin, chỉ bao gồm số hoặc chữ [hệ thập lục phân], không phân biệt chữ hoa hay chữ thường.Các ký tự Latin có thể chấp nhận là: a,b,c,d,e,f,A,B,C,D,E,F.Ví dụ: #00ffffTa có thể viết gút gọn màu này theo các cách sau:Gút gọn 6 ký tự giống nhau thành 3 ký tự: #ffffff => #fffGút gọn 3 cặp ký tự thành 3 ký tự: #ff0066 => #f06

Xác định màu theo kết hợp màu RGB

Xác định màu theo RGB là sự kết hợp của 3 màu cơ bản: đỏ [Red], xanh lá cây [Green] và xanh dương [Blue]

Cách viết: rgb[giá trị 1, giá trị 2, giá trị 3]Vớigiá trịtừ 0 tới 255.Ví dụ: rgb[155,167,1]Một số giá trị đặc biệt:Màu đen: rgb[0,0,0]Màu đỏ: rgb[255,0,0]Màu xanh lá cây: rgb[0,255,0]Màu xanh dương: rgb[0,0,255]Màu vàng: rgb[255,255,0]Màu Trắng: rgb[255,255,255]

Xác định màu theo tên tiếng anh

Cách viết: tên màu được viết theo tiếng anh.Ví dụ: blueMột số tên thường dùng:Màu đen: blackMàu đỏ: redMàu xanh lá cây: greenMàu xanh dương: blueMàu vàng: yellowMàu trắng: white

Nãy giờ mình lang man quên mất chưa vào chủ đề chính :D.

Một ngày nào đó bạn cần 1 function sinh ra ngẫu nhiên 1 màu nào đó để phục vụ cho project của bạn. Bạn hãy tận dụng hàmdechex[] có sẵn trong PHP. Dưới đây là 1 mẫu ví dụ mà mình viết ra để tạo ngẫu nhiên 1 màu dùng hàm dechex:

  • Php mvc example with database
  • Explain final class and final method in php
  • Delete database mysql php
  • History of php : hypertext preprocessor, what is php

Một cách khác để có được hiệu ứng tương tự là dán tệp png vào một hình ảnh mới có màu nền duy nhất để tạm thời loại bỏ độ trong suốt và thay vào đó đặt màu trong suốt của hình ảnh png thành màu vòng tròn đen. Sau đó, khi bạn đặt nó trên hình ảnh jpeg, bạn đặt màu trong suốt mới thành màu của mặt nạ.

Nội dung chính

  • 1.1. Hàm khởi tạo mặc định (default constructor)
  • 1.2. Hàm khởi tạo có tham số (parameterized constructor)
  • 1.3. Hàm khởi tạo sao chép (copy constructor)
  • 2. Hàm hủy (destructor) của class trong PHP
// Load the Black Circle PNG image
$png = imagecreatefrompng( 'mask.png' );
$width = imagesx( $png );
$height = imagesy( $png );

// Create a mask image
$mask = imagecreatetruecolor( $width, $height );
// We'll use Magenta as our new transparent colour - set it as the solid background colour.
$magenta = imagecolorallocate( $mask, 255, 0, 255 );
imagefill( $mask, 0, 0, $magenta );

// Copy the png image onto the mask. Destroy it to free up memory.
imagecopyresampled( $mask, $png, 0, 0, 0, 0, $width, $height, $width, $height );
imagedestroy( $png );

// Set the black portion of the mask to transparent.
$black = imagecolorallocate( $mask, 0, 0, 0 );
imagecolortransparent( $mask, $black );

// Load JPEG image.
$jpg = imagecreatefromjpeg( 'image.jpg' );
$j_width = imagesx( $jpg );
$j_height = imagesx( $jpg );

// Enable alpha blending and copy the png image
imagealphablending( $jpg, true );
imagecopyresampled( $jpg, $mask, 0, 0, 0, 0, $j_width, $j_height, $width, $height );
imagedestroy( $mask );

// Set the new transparent colour and output new image to browser as a png.
$magenta = imagecolorallocate( $jpg, 255, 0, 255 );
imagecolortransparent( $jpg, $magenta );
imagepng( $jpg );

Nếu việc lấy mẫu lại hoặc các pixel bán trong suốt khiến bạn thất vọng, thay vì sử dụng png làm mặt nạ, bạn có thể tắt tính năng trộn và vẽ một hình trong suốt lên $maskhình ảnh.

// Load JPEG Image.
$jpg = imagecreatefromjpeg( 'image.jpg' );
$width = imagesx( $jpg );
$height = imagesx( $jpg );

// Create mask at same size with an opaque background.
$mask = imagecreatetruecolor( $width, $height );
$magenta = imagecolorallocate( $mask, 255, 0, 255 );
imagefill( $mask, 0, 0, $magenta );

// Disable alpha blending and draw a transparent shape onto the mask.
$transparent = imagecolorallocatealpha( $mask, 255, 255, 255, 127 );
imagealphablending( $mask, false );
imagefilledellipse( $mask, round( $width / 2 ), round( $height / 2 ), $width, $height, $transparent );

// Paste the mask onto the original image and set the new transparent colour.
imagealphablending( $jpg, true );
imagecopyresampled( $jpg, $mask, 0, 0, 0, 0, $width, $height, $width, $height );
imagedestroy( $mask );
$magenta = imagecolorallocate( $jpg, 255, 0, 255 );
imagecolortransparent( $jpg, $magenta );

// Output new image to browser as a png.
imagepng( $jpg );

Lưu ý: Đoạn mã trên chưa được kiểm tra, nhưng hy vọng sẽ làm được những gì bạn cần.

0 hữu ích 0 bình luận chia sẻ

Trong bài này, chúng ta sẽ tìm hiểu về constructor và destructor của class trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP.

Nội dung chính

  • 1.1. Hàm khởi tạo mặc định (default constructor)
  • 1.2. Hàm khởi tạo có tham số (parameterized constructor)
  • 1.3. Hàm khởi tạo sao chép (copy constructor)
  • 2. Hàm hủy (destructor) của class trong PHP

Hàm khởi tạo (constructor) luôn luôn được gọi khi một đối tượng của một lớp được tạo ra. Hàm khởi tạo được sử dụng để khởi tạo giá trị cho các thuộc tính của đối tượng hoặc thực hiện một số thao tác khi đối tượng đang được tạo ra.

Trong PHP, hàm __construct() là hàm khởi tạo (constructor) của class trong PHP. Có 3 dạng hàm khởi tạo là:

    • Hàm khởi tạo mặc định (default constructor)
    • Hàm khởi tạo có tham số (parameterized constructor)
    • Hàm khởi tạo sao chép (copy constructor)

1.1. Hàm khởi tạo mặc định (default constructor)

Nếu trong một class không định nghĩa hàm __construct() thì PHP sẽ tự động tạo ra một hàm khởi tạo mặc định. Hàm khởi tạo mặc định không có tham số và không có dòng code nào trong thân hàm. Khi gọi hàm khởi tạo mặc định để tạo một đối tượng thì các thuộc tính của đối tượng sẽ nhận giá trị mặc định.

name = $name;
    }
    function get_name() {
        return $this->name;
    }
    function set_color($color) {
        $this->color = $color;
    }
    function get_color() {
        return $this->color;
    }
    # Methods of Cat class
    function info(){
        return $this->name." cat has ".$this->color." color";
    }
    function sleep(){
        return $this->name." cat takes a nap.";
    }
}
$tom = new Cat();
echo $tom->info();
?>
Kết quả
cat has color

Chúng ta có thể định nghĩa hàm __construct() không có tham số trong class trong PHP. Lúc này, hàm khởi tạo này có chức năng giống như hàm khởi tạo mặc định nhưng có thể định nghĩa các dòng code trong thân hàm để thực thi lúc tạo đối tượng.

";
    }
    # getter and setter methods
    function set_name($name) {
        $this->name = $name;
    }
    function get_name() {
        return $this->name;
    }
    function set_color($color) {
        $this->color = $color;
    }
    function get_color() {
        return $this->color;
    }
    # Methods of Cat class
    function info(){
        return $this->name." cat has ".$this->color." color";
    }
    function sleep(){
        return $this->name." cat takes a nap.";
    }
}
$tom = new Cat();
echo $tom->info();
?>
Kết quả
This is constructor function
cat has color

1.2. Hàm khởi tạo có tham số (parameterized constructor)

Chúng ta có thể định nghĩa hàm __construct() có 1 hoặc nhiều tham số. Hàm khởi tạo có tham số thường được sử dụng để khởi tạo các giá trị cho các thuộc tính của đối tượng.

name = $name;
        $this->color = $color;
    }
    # getter and setter methods
    function set_name($name) {
        $this->name = $name;
    }
    function get_name() {
        return $this->name;
    }
    function set_color($color) {
        $this->color = $color;
    }
    function get_color() {
        return $this->color;
    }
    # Methods of Cat class
    function info(){
        return $this->name." cat has ".$this->color." color";
    }
    function sleep(){
        return $this->name." cat takes a nap.";
    }
}
$tom = new Cat("Tom", "grey and white");
echo $tom->info();
?>
Kết quả
Tom cat has grey and white color

Lưu ý: Trong PHP, chỉ được định nghĩa một hàm khởi tạo __construct() trong class.

1.3. Hàm khởi tạo sao chép (copy constructor)

Hàm khởi tạo sao chép được sử dụng để tạo ra một bản sao chép (copy) của một đối tượng đã có. Hàm này lấy địa chỉ của một đối tượng khác làm tham số. Trong PHP, hàm này bản chất là một hàm sao chép thuộc tính của đối tượng này cho đối tượng khác.

name = $name;
    }
    function get_name() {
        return $this->name;
    }
    function set_color($color) {
        $this->color = $color;
    }
    function get_color() {
        return $this->color;
    }
    # Methods of Cat class
    function info() {
        return $this->name." cat has ".$this->color." color";
    }
    function sleep() {
        return $this->name." cat takes a nap.";
    }
    // copy constructor
    public function copyCon(Cat $c) {
        $this->name = $c->name;
        $this->color = $c->color;
    }
}
$tom = new Cat();
$tom->set_name("Tom");
$tom->set_color("grey and white");
echo $tom->info()."
"; $tom2 = new Cat(); $tom2->copyCon($tom); echo "Tom2: "; echo $tom2->info(); ?>
Kết quả
Tom cat has grey and white color
Tom2: Tom cat has grey and white color

2. Hàm hủy (destructor) của class trong PHP

Hàm hủy (destructor) được gọi khi đối tượng bị hủy hoặc PHP script bị dừng hoặc thoát. Trong PHP, hàm __destruct() là hàm hủy (destructor) của class trong PHP.

name = $name;
        $this->color = $color;
    }
    # getter and setter methods
    function set_name($name) {
        $this->name = $name;
    }
    function get_name() {
        return $this->name;
    }
    function set_color($color) {
        $this->color = $color;
    }
    function get_color() {
        return $this->color;
    }
    # Methods of Cat class
    function info() {
        return $this->name." cat has ".$this->color." color";
    }
    function sleep() {
        return $this->name." cat takes a nap.";
    }
    // destructor function
    function __destruct() {
        echo "The cat is {$this->name} and the color is {$this->color}.";
    }
}
$tom = new Cat("Tom", "grey and white");
?>
Kết quả
The cat is Tom and the color is grey and white.

Hàm hủy (destructor) trong PHP thường được dùng để giải phóng bộ nhớ của đối tượng khi không sử dụng nữa.

  • Java collections framework: Map interface và lớp HashMap
  • Chương trình Java tìm số ngày của tháng trong một năm
  • Thêm (insert) dữ liệu trong MySQL với PHP
  • PHP là gì? Đặc điểm của ngôn ngữ lập trình PHP
  • Mảng kết hợp (associative array) trong PHP