Q - ช่วยแนะนำไลบรารี JavaScript ที่สามารถเก็บค่าสีได้

พูดคุยแลกเปลี่ยน ปัญหา การเขียน JavaScript เครื่องมือ AJAX Web 2.0 AJAX Framework jQuery และ Node.JS รวมถึง Framework Express ของ Node.JS ทำงานฝั่ง Server

Moderator: mindphp

Buck Kittisak
PHP VIP Members
PHP VIP Members
โพสต์: 10335
ลงทะเบียนเมื่อ: 07/05/2024 9:10 am

Q - ช่วยแนะนำไลบรารี JavaScript ที่สามารถเก็บค่าสีได้

โพสต์ที่ยังไม่ได้อ่าน โดย Buck Kittisak »

ตอนนี้ฉันมีโปรแกรมแปลงค่าสี และมีการใช้ฟังก์ชันดังนี้

โค้ด: เลือกทั้งหมด

function convertColor($color, $type)
{
    $namedColors = [
        "black" => "#000000",
        "white" => "#FFFFFF",
        "red" => "#FF0000",
        "green" => "#00FF00",
        "blue" => "#0000FF",
        "yellow" => "#FFFF00",
        "cyan" => "#00FFFF",
        "magenta" => "#FF00FF",
        "silver" => "#C0C0C0",
        "gray" => "#808080",
        "maroon" => "#800000",
        "olive" => "#808000",
        "purple" => "#800080",
        "teal" => "#008080",
        "navy" => "#000080",
        "orange" => "#FFA500",
        "pink" => "#FFC0CB",
        "brown" => "#A52A2A",
        "gold" => "#FFD700",
        "indigo" => "#4B0082",
        "violet" => "#EE82EE",
        "lime" => "#00FF00",
        "turquoise" => "#40E0D0",
        "tan" => "#D2B48C",
        "salmon" => "#FA8072",
        "khaki" => "#F0E68C",
        "lavender" => "#E6E6FA",
        "plum" => "#DDA0DD",
        "orchid" => "#DA70D6",
        "crimson" => "#DC143C",
        "chocolate" => "#D2691E",
        "coral" => "#FF7F50",
        "beige" => "#F5F5DC",
        "mint" => "#98FF98",
        "ivory" => "#FFFFF0",
        "peach" => "#FFDAB9",
        "aqua" => "#00FFFF",
        "azure" => "#F0FFFF",
        "fuchsia" => "#FF00FF",
        "wheat" => "#F5DEB3",
        "limegreen" => "#32CD32",
        "seagreen" => "#2E8B57",
        "midnightblue" => "#191970",
        "royalblue" => "#4169E1",
        "skyblue" => "#87CEEB",
        "steelblue" => "#4682B4",
        "darkblue" => "#00008B",
        "darkgreen" => "#006400",
        "darkred" => "#8B0000",
        "darkorange" => "#FF8C00",
        "darkviolet" => "#9400D3",
        "darkgray" => "#A9A9A9",
        "lightgray" => "#D3D3D3",
        "lightgreen" => "#90EE90",
        "lightblue" => "#ADD8E6",
        "lightpink" => "#FFB6C1",
        "lightcoral" => "#F08080",
        "lightyellow" => "#FFFFE0",
        "lightgoldenrodyellow" => "#FAFAD2",
        "lightseagreen" => "#20B2AA"
    ];


    switch ($type) {
        case 'Color name':
            if (array_key_exists(strtolower($color), $namedColors)) {
                $hex = $namedColors[strtolower($color)];
                $rgb = hexToRgb($hex);
                $name = ucfirst($color);
            } else {
                return false;
            }
            break;

        case 'Hex':
            if (preg_match('/^#([a-fA-F0-9]{6})$/', $color)) {
                $hex = $color;
                $rgb = hexToRgb($hex);
                $name = array_search($hex, $namedColors) ?: "N/A";
            } else {
                return false;
            }
            break;

        case 'RGB':
            if (preg_match('/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/', $color, $matches)) {
                $rgb = [intval($matches[1]), intval($matches[2]), intval($matches[3])];
                $hex = rgbToHex($rgb);
                $name = array_search($hex, $namedColors) ?: "N/A";
            } else {
                return false;
            }
            break;

        default:
            return false;
    }

    return [
        'hex' => $hex,
        'rgb' => $rgb,
        'name' => $name,
    ];
}

function hexToRgb($hex)
{
    $hex = str_replace("#", "", $hex);
    return [
        hexdec(substr($hex, 0, 2)),
        hexdec(substr($hex, 2, 2)),
        hexdec(substr($hex, 4, 2))
    ];
}

function rgbToHex($rgb)
{
    return sprintf("#%02x%02x%02x", $rgb[0], $rgb[1], $rgb[2]);
}
Code นี้จะเป็นการตรวจสอบและแปลงค่าสีระหว่างชื่อสี, สีในรูปแบบ Hex, และสีในรูปแบบ RGB โดยรับค่าพารามิเตอร์สองตัว ได้แก่ $color (ค่าของสี) และ $type (ประเภทของค่าสี เช่น 'Color name', 'Hex', หรือ 'RGB') และ $namedColors:ตัวแปรนี้เป็น array ที่เก็บคู่ค่า ชื่อสี (key) และ ค่าสีในรูปแบบ Hex (value)
ซึ่งฉันอยากทราบว่าพอมี ไลบรารี่ของ Javascript ที่สามารถทำงานได้เหมือนกับฟังก์ชันของฉันบ้างไหม โดยฉันต้องการนำมาใช้แทนฟังก์ชันตัวนี้
Buck Kittisak
PHP VIP Members
PHP VIP Members
โพสต์: 10335
ลงทะเบียนเมื่อ: 07/05/2024 9:10 am

Re: Q - ช่วยแนะนำไลบรารี JavaScript ที่สามารถเก็บค่าสีได้

โพสต์ที่ยังไม่ได้อ่าน โดย Buck Kittisak »

ตอนนี้ฉันมีโปรแกรมแปลงค่าสี และมีการใช้ฟังก์ชันดังนี้

โค้ด: เลือกทั้งหมด

function convertColor($color, $type)
{
    $namedColors = [
        "black" => "#000000",
        "white" => "#FFFFFF",
        "red" => "#FF0000",
        "green" => "#00FF00",
        "blue" => "#0000FF",
        "yellow" => "#FFFF00",
        "cyan" => "#00FFFF",
        "magenta" => "#FF00FF",
        "silver" => "#C0C0C0",
        "gray" => "#808080",
        "maroon" => "#800000",
        "olive" => "#808000",
        "purple" => "#800080",
        "teal" => "#008080",
        "navy" => "#000080",
        "orange" => "#FFA500",
        "pink" => "#FFC0CB",
        "brown" => "#A52A2A",
        "gold" => "#FFD700",
        "indigo" => "#4B0082",
        "violet" => "#EE82EE",
        "lime" => "#00FF00",
        "turquoise" => "#40E0D0",
        "tan" => "#D2B48C",
        "salmon" => "#FA8072",
        "khaki" => "#F0E68C",
        "lavender" => "#E6E6FA",
        "plum" => "#DDA0DD",
        "orchid" => "#DA70D6",
        "crimson" => "#DC143C",
        "chocolate" => "#D2691E",
        "coral" => "#FF7F50",
        "beige" => "#F5F5DC",
        "mint" => "#98FF98",
        "ivory" => "#FFFFF0",
        "peach" => "#FFDAB9",
        "aqua" => "#00FFFF",
        "azure" => "#F0FFFF",
        "fuchsia" => "#FF00FF",
        "wheat" => "#F5DEB3",
        "limegreen" => "#32CD32",
        "seagreen" => "#2E8B57",
        "midnightblue" => "#191970",
        "royalblue" => "#4169E1",
        "skyblue" => "#87CEEB",
        "steelblue" => "#4682B4",
        "darkblue" => "#00008B",
        "darkgreen" => "#006400",
        "darkred" => "#8B0000",
        "darkorange" => "#FF8C00",
        "darkviolet" => "#9400D3",
        "darkgray" => "#A9A9A9",
        "lightgray" => "#D3D3D3",
        "lightgreen" => "#90EE90",
        "lightblue" => "#ADD8E6",
        "lightpink" => "#FFB6C1",
        "lightcoral" => "#F08080",
        "lightyellow" => "#FFFFE0",
        "lightgoldenrodyellow" => "#FAFAD2",
        "lightseagreen" => "#20B2AA"
    ];


    switch ($type) {
        case 'Color name':
            if (array_key_exists(strtolower($color), $namedColors)) {
                $hex = $namedColors[strtolower($color)];
                $rgb = hexToRgb($hex);
                $name = ucfirst($color);
            } else {
                return false;
            }
            break;

        case 'Hex':
            if (preg_match('/^#([a-fA-F0-9]{6})$/', $color)) {
                $hex = $color;
                $rgb = hexToRgb($hex);
                $name = array_search($hex, $namedColors) ?: "N/A";
            } else {
                return false;
            }
            break;

        case 'RGB':
            if (preg_match('/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/', $color, $matches)) {
                $rgb = [intval($matches[1]), intval($matches[2]), intval($matches[3])];
                $hex = rgbToHex($rgb);
                $name = array_search($hex, $namedColors) ?: "N/A";
            } else {
                return false;
            }
            break;

        default:
            return false;
    }

    return [
        'hex' => $hex,
        'rgb' => $rgb,
        'name' => $name,
    ];
}

function hexToRgb($hex)
{
    $hex = str_replace("#", "", $hex);
    return [
        hexdec(substr($hex, 0, 2)),
        hexdec(substr($hex, 2, 2)),
        hexdec(substr($hex, 4, 2))
    ];
}

function rgbToHex($rgb)
{
    return sprintf("#%02x%02x%02x", $rgb[0], $rgb[1], $rgb[2]);
}
Code นี้จะเป็นการตรวจสอบและแปลงค่าสีระหว่างชื่อสี, สีในรูปแบบ Hex, และสีในรูปแบบ RGB โดยรับค่าพารามิเตอร์สองตัว ได้แก่ $color (ค่าของสี) และ $type (ประเภทของค่าสี เช่น 'Color name', 'Hex', หรือ 'RGB') และ $namedColors:ตัวแปรนี้เป็น array ที่เก็บคู่ค่า ชื่อสี (key) และ ค่าสีในรูปแบบ Hex (value)
ซึ่งฉันอยากทราบว่าพอมี ไลบรารี่ของ Javascript ที่สามารถทำงานได้เหมือนกับฟังก์ชันของฉันบ้างไหม โดยฉันต้องการนำมาใช้แทนฟังก์ชันตัวนี้
Buck Kittisak
PHP VIP Members
PHP VIP Members
โพสต์: 10335
ลงทะเบียนเมื่อ: 07/05/2024 9:10 am

Re: Q - ช่วยแนะนำไลบรารี JavaScript ที่สามารถเก็บค่าสีได้

โพสต์ที่ยังไม่ได้อ่าน โดย Buck Kittisak »

เข้าใจคำถามของฉันไหม
MindPHP Assistant

Re: Q - ช่วยแนะนำไลบรารี JavaScript ที่สามารถเก็บค่าสีได้

โพสต์ที่ยังไม่ได้อ่าน โดย MindPHP Assistant »

แน่นอนค่ะ ฉันเข้าใจคำถามของคุณ หากคุณมีคำถามหรือข้อสงสัยอะไร สามารถถามมาได้เลยนะคะ ฉันยินดีช่วยเหลือค่ะ
Buck Kittisak
PHP VIP Members
PHP VIP Members
โพสต์: 10335
ลงทะเบียนเมื่อ: 07/05/2024 9:10 am

Re: Q - ช่วยแนะนำไลบรารี JavaScript ที่สามารถเก็บค่าสีได้

โพสต์ที่ยังไม่ได้อ่าน โดย Buck Kittisak »

โค้ด: เลือกทั้งหมด

function convertColor($color, $type)
{
    $namedColors = [
        "black" => "#000000",
        "white" => "#FFFFFF",
        "red" => "#FF0000",
        "green" => "#00FF00",
        "blue" => "#0000FF",
        "yellow" => "#FFFF00",
        "cyan" => "#00FFFF",
        "magenta" => "#FF00FF",
        "silver" => "#C0C0C0",
        "gray" => "#808080",
        "maroon" => "#800000",
        "olive" => "#808000",
        "purple" => "#800080",
        "teal" => "#008080",
        "navy" => "#000080",
        "orange" => "#FFA500",
        "pink" => "#FFC0CB",
        "brown" => "#A52A2A",
        "gold" => "#FFD700",
        "indigo" => "#4B0082",
        "violet" => "#EE82EE",
        "lime" => "#00FF00",
        "turquoise" => "#40E0D0",
        "tan" => "#D2B48C",
        "salmon" => "#FA8072",
        "khaki" => "#F0E68C",
        "lavender" => "#E6E6FA",
        "plum" => "#DDA0DD",
        "orchid" => "#DA70D6",
        "crimson" => "#DC143C",
        "chocolate" => "#D2691E",
        "coral" => "#FF7F50",
        "beige" => "#F5F5DC",
        "mint" => "#98FF98",
        "ivory" => "#FFFFF0",
        "peach" => "#FFDAB9",
        "aqua" => "#00FFFF",
        "azure" => "#F0FFFF",
        "fuchsia" => "#FF00FF",
        "wheat" => "#F5DEB3",
        "limegreen" => "#32CD32",
        "seagreen" => "#2E8B57",
        "midnightblue" => "#191970",
        "royalblue" => "#4169E1",
        "skyblue" => "#87CEEB",
        "steelblue" => "#4682B4",
        "darkblue" => "#00008B",
        "darkgreen" => "#006400",
        "darkred" => "#8B0000",
        "darkorange" => "#FF8C00",
        "darkviolet" => "#9400D3",
        "darkgray" => "#A9A9A9",
        "lightgray" => "#D3D3D3",
        "lightgreen" => "#90EE90",
        "lightblue" => "#ADD8E6",
        "lightpink" => "#FFB6C1",
        "lightcoral" => "#F08080",
        "lightyellow" => "#FFFFE0",
        "lightgoldenrodyellow" => "#FAFAD2",
        "lightseagreen" => "#20B2AA"
    ];


    switch ($type) {
        case 'Color name':
            if (array_key_exists(strtolower($color), $namedColors)) {
                $hex = $namedColors[strtolower($color)];
                $rgb = hexToRgb($hex);
                $name = ucfirst($color);
            } else {
                return false;
            }
            break;

        case 'Hex':
            if (preg_match('/^#([a-fA-F0-9]{6})$/', $color)) {
                $hex = $color;
                $rgb = hexToRgb($hex);
                $name = array_search($hex, $namedColors) ?: "N/A";
            } else {
                return false;
            }
            break;

        case 'RGB':
            if (preg_match('/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/', $color, $matches)) {
                $rgb = [intval($matches[1]), intval($matches[2]), intval($matches[3])];
                $hex = rgbToHex($rgb);
                $name = array_search($hex, $namedColors) ?: "N/A";
            } else {
                return false;
            }
            break;

        default:
            return false;
    }

    return [
        'hex' => $hex,
        'rgb' => $rgb,
        'name' => $name,
    ];
}

function hexToRgb($hex)
{
    $hex = str_replace("#", "", $hex);
    return [
        hexdec(substr($hex, 0, 2)),
        hexdec(substr($hex, 2, 2)),
        hexdec(substr($hex, 4, 2))
    ];
}

function rgbToHex($rgb)
{
    return sprintf("#%02x%02x%02x", $rgb[0], $rgb[1], $rgb[2]);
}
Code นี้จะเป็นการตรวจสอบและแปลงค่าสีระหว่างชื่อสี, สีในรูปแบบ Hex, และสีในรูปแบบ RGB โดยรับค่าพารามิเตอร์สองตัว ได้แก่ $color (ค่าของสี) และ $type (ประเภทของค่าสี เช่น 'Color name', 'Hex', หรือ 'RGB') และ $namedColors:ตัวแปรนี้เป็น array ที่เก็บคู่ค่า ชื่อสี (key) และ ค่าสีในรูปแบบ Hex (value)
ซึ่งฉันอยากทราบว่าพอมี ไลบรารี่ของ Javascript ที่สามารถทำงานได้เหมือนกับฟังก์ชันของฉันบ้างไหม โดยฉันต้องการนำมาใช้แทนฟังก์ชันตัวนี้
MindPHP Assistant

Re: Q - ช่วยแนะนำไลบรารี JavaScript ที่สามารถเก็บค่าสีได้

โพสต์ที่ยังไม่ได้อ่าน โดย MindPHP Assistant »

คุณสามารถใช้ไลบรารี่ใน JavaScript ที่ชื่อว่า **"TinyColor"** ซึ่งสามารถจัดการกับการแปลงสีระหว่างชื่อสี, ค่าสีในรูปแบบ Hex, และสีในรูปแบบ RGB ได้อย่างง่ายดายและมีประสิทธิภาพ

นี่คือตัวอย่างการใช้งาน TinyColor:

โค้ด: เลือกทั้งหมด

html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>TinyColor Example</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/tinycolor/1.4.2/tinycolor.min.js"></script>
</head>
<body>
    <script>
        // Convert color name to Hex and RGB
        let colorName = "blue";
        let color = tinycolor(colorName);

        console.log(`Color name: ${colorName}`);
        console.log(`Hex: ${color.toHexString()}`);
        console.log(`RGB: ${color.toRgbString()}`);

        // Convert Hex to color name and RGB
        let hex = "#FF00FF";
        let colorFromHex = tinycolor(hex);

        console.log(`Hex: ${hex}`);
        console.log(`Color name: ${colorFromHex.toName()}`);
        console.log(`RGB: ${colorFromHex.toRgbString()}`);

        // Convert RGB to color name and Hex
        let rgb = { r: 255, g: 0, b: 0 };
        let colorFromRgb = tinycolor(rgb);

        console.log(`RGB: ${colorFromRgb.toRgbString()}`);
        console.log(`Hex: ${colorFromRgb.toHexString()}`);
        console.log(`Color name: ${colorFromRgb.toName()}`);
    </script>
</body>
</html>
ในตัวอย่างนี้:

- `tinycolor(colorName)` สามารถรับค่าชื่อสีและแปลงเป็น Hex และ RGB
- `tinycolor(hex)` สามารถรับค่าสีในรูปแบบ Hex และแปลงเป็นชื่อสีและ RGB
- `tinycolor(rgb)` สามารถรับค่าสีในรูปแบบ RGB และแปลงเป็นชื่อสีและ Hex

คุณสามารถอ่านเพิ่มเติมเกี่ยวกับ TinyColor และฟังก์ชันต่าง ๆ ได้ที่ [TinyColor GitHub Repository](https://github.com/bgrins/TinyColor)
Buck Kittisak
PHP VIP Members
PHP VIP Members
โพสต์: 10335
ลงทะเบียนเมื่อ: 07/05/2024 9:10 am

Re: Q - ช่วยแนะนำไลบรารี JavaScript ที่สามารถเก็บค่าสีได้

โพสต์ที่ยังไม่ได้อ่าน โดย Buck Kittisak »

สอนใช้ติดตั้งและใช้งาน TinyColor หน่อย
MindPHP Assistant

Re: Q - ช่วยแนะนำไลบรารี JavaScript ที่สามารถเก็บค่าสีได้

โพสต์ที่ยังไม่ได้อ่าน โดย MindPHP Assistant »

TinyColor เป็นไลบรารี JavaScript ที่ใช้สำหรับจัดการและแปลงสีต่างๆ อย่างง่ายดาย ในการติดตั้งและใช้งาน TinyColor สามารถทำตามขั้นตอนดังนี้:

### การติดตั้ง TinyColor

1. **ผ่าน NPM (Node Package Manager):**
หากคุณใช้ Node.js และ NPM คุณสามารถติดตั้ง TinyColor ได้โดยใช้คำสั่ง:

โค้ด: เลือกทั้งหมด

bash
   npm install tinycolor2
   

2. **ผ่าน Yarn:**
อีกทางเลือกหนึ่งคือการใช้ Yarn:

โค้ด: เลือกทั้งหมด

bash
   yarn add tinycolor2
   
3. **ผ่าน CDN:**
คุณยังสามารถใช้ TinyColor ผ่าน CDN ได้โดยเพิ่มสคริปต์ในไฟล์ HTML ของคุณ:

โค้ด: เลือกทั้งหมด

html
   <script src="https://cdnjs.cloudflare.com/ajax/libs/tinycolor/1.4.2/tinycolor.min.js"></script>
   
### การใช้งาน TinyColor

หลังจากที่คุณติดตั้ง TinyColor เรียบร้อยแล้ว คุณสามารถเริ่มใช้มันได้เลย

#### ตัวอย่างการใช้ TinyColor

1. **การสร้างและใช้งานสี:**

โค้ด: เลือกทั้งหมด

javascript
   // Import TinyColor (ถ้าใช้ผ่าน NPM หรือ Yarn)
   const tinycolor = require("tinycolor2");

   // ถ้าใช้ผ่าน CDN ไม่ต้อง import
   
   // สร้างสีจาก HEX
   let color = tinycolor("#3498db");

   // แปลงสีเป็น RGB
   let rgbColor = color.toRgb();  // {r: 52, g: 152, b: 219, a: 1}
   console.log(rgbColor);

   // แปลงสีเป็น HSL
   let hslColor = color.toHsl();  // {h: 207.6, s: 0.7, l: 0.53, a: 1}
   console.log(hslColor);

   // แปลงสีเป็นสตริงแบบ RGB
   let rgbString = color.toRgbString();  // "rgb(52, 152, 219)"
   console.log(rgbString);

   // แปลงสีเป็นสตริงแบบ HSL
   let hslString = color.toHslString();  // "hsl(207.6, 70%, 53%)"
   console.log(hslString);
   
2. **การปรับแต่งสี:**

โค้ด: เลือกทั้งหมด

javascript
   // สีที่สว่างขึ้น
   let lighterColor = color.lighten(10); // ทำให้สีสว่างขึ้น 10%
   console.log(lighterColor.toString());

   // สีที่เข้มขึ้น
   let darkerColor = color.darken(10); // ทำให้สีเข้มขึ้น 10%
   console.log(darkerColor.toString());

   // สีที่ความโปร่งแสงเปลี่ยนไป
   let transparentColor = color.setAlpha(0.5); // ทำให้สีโปร่งแสง 50%
   console.log(transparentColor.toString());
   
3. **การตรวจสอบสี:**

โค้ด: เลือกทั้งหมด

javascript
   // ตรวจสอบว่าสีนี้เป็นสีเข้มหรือไม่
   let isDark = color.isDark();  // true หรือ false
   console.log(isDark);

   // ตรวจสอบว่าสีนี้เป็นสีสว่างหรือไม่
   let isLight = color.isLight();  // true หรือ false
   console.log(isLight);
   
ด้วย TinyColor คุณสามารถจัดการและแปลงสีได้อย่างง่ายดายและรวดเร็วตามความต้องการของคุณ ไม่ว่าจะเป็นการสร้างสีใหม่ การแปลงรูปแบบของสี หรือการปรับแต่งสีตามที่ต้องการ
ภาพประจำตัวสมาชิก
eange08
PHP VIP Members
PHP VIP Members
โพสต์: 24539
ลงทะเบียนเมื่อ: 22/12/2020 10:09 am

Re: Q - ช่วยแนะนำไลบรารี JavaScript ที่สามารถเก็บค่าสีได้

โพสต์ที่ยังไม่ได้อ่าน โดย eange08 »

ยังติดปัญหาอยู่ไหมค่ะ
Buck Kittisak
PHP VIP Members
PHP VIP Members
โพสต์: 10335
ลงทะเบียนเมื่อ: 07/05/2024 9:10 am

Re: Q - ช่วยแนะนำไลบรารี JavaScript ที่สามารถเก็บค่าสีได้

โพสต์ที่ยังไม่ได้อ่าน โดย Buck Kittisak »

eange08 เขียน: 26/08/2024 2:13 pm ยังติดปัญหาอยู่ไหมค่ะ
เดี่ยวจะลองทดสอบอีกทีครับ ถ้ายังมีปัญหาจะสอบถามที่กระทู้นี้ครับ
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 3