คุณสมบัติ CSS ที่เกี่ยวข้องกับเอฟเฟกต์ฟิลเตอร์
บทความนี้อธิบายคุณสมบัติ CSS ที่เกี่ยวข้องกับเอฟเฟกต์ฟิลเตอร์
คุณสามารถเรียนรู้เกี่ยวกับการใช้งาน และวิธีการเขียนคุณสมบัติ เช่น filter
และ transform
YouTube Video
HTML สำหรับการแสดงตัวอย่าง
css-effect.html
1<!DOCTYPE html>
2<html lang="en">
3<head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>CSS Properties Example</title>
7 <link rel="stylesheet" href="css-base.css">
8 <link rel="stylesheet" href="css-effect.css">
9</head>
10<body>
11 <!-- Header -->
12 <header>
13 <h1>CSS Properties For Animation</h1>
14 </header>
15
16 <!-- Main content -->
17 <main>
18 <header>
19 <h2>Filter/Effect Related Properties</h2>
20 </header>
21 <article>
22 <h3>filter</h3>
23 <section>
24 <header><h4>Original Image</h4></header>
25 <section class="sample-view">
26 <img src="example.jpg" alt="Example Image" width="100">
27 </section>
28 <header><h4>filter: sepia(1)</h4></header>
29 <section class="sample-view">
30 <img src="example.jpg" alt="Example Sepia Image" class="filtered-image-sepia" width="100">
31 </section>
32 <header><h4>filter: opacity(0.5)</h4></header>
33 <section class="sample-view">
34 <img src="example.jpg" alt="Example Opacity Image" class="filtered-image-opacity" width="100">
35 </section>
36 <header><h4>filter: brightness(1.2) contrast(1.5) sepia(0.5)</h4></header>
37 <section class="sample-view">
38 <img src="example.jpg" alt="Example Filtered Image" class="filtered-image-multiple" width="100">
39 </section>
40 </section>
41 </article>
42 <article>
43 <h3>filter-function</h3>
44 <section>
45 <header><h4>filter: blur(5px)</h4></header>
46 <section class="sample-view">
47 <img src="example.jpg" alt="Example Blur Image" style="filter: blur(5px);" width="100">
48 </section>
49 <header><h4>filter: brightness(1.5)</h4></header>
50 <section class="sample-view">
51 <img src="example.jpg" alt="Example Brightness Image" style="filter: brightness(1.5);" width="100">
52 </section>
53 <header><h4>filter: contrast(2)</h4></header>
54 <section class="sample-view">
55 <img src="example.jpg" alt="Example Contrast Image" style="filter: contrast(2);" width="100">
56 </section>
57 <header><h4>filter: grayscale(1)</h4></header>
58 <section class="sample-view">
59 <img src="example.jpg" alt="Example Grayscale Image" style="filter: grayscale(1);" width="100">
60 </section>
61 <header><h4>filter: hue-rotate(90deg)</h4></header>
62 <section class="sample-view">
63 <img src="example.jpg" alt="Example Hue Rotate Image" style="filter: hue-rotate(90deg);" width="100">
64 </section>
65 <header><h4>filter: invert(1)</h4></header>
66 <section class="sample-view">
67 <img src="example.jpg" alt="Example Invert Image" style="filter: invert(1);" width="100">
68 </section>
69 <header><h4>filter: opacity(0.5)</h4></header>
70 <section class="sample-view">
71 <img src="example.jpg" alt="Example Opacity Image" style="filter: opacity(0.5);" width="100">
72 </section>
73 <header><h4>filter: saturate(2)</h4></header>
74 <section class="sample-view">
75 <img src="example.jpg" alt="Example Saturate Image" style="filter: saturate(2);" width="100">
76 </section>
77 <header><h4>filter: sepia(1)</h4></header>
78 <section class="sample-view">
79 <img src="example.jpg" alt="Example Sepia Image" style="filter: sepia(1);" width="100">
80 </section>
81 <header><h4>filter: brightness(1.2) contrast(1.5) sepia(0.5)</h4></header>
82 <section class="sample-view">
83 <img src="example.jpg" alt="Example Filtered Image" style="filter: brightness(1.2) contrast(1.5) sepia(0.5);" width="100">
84 </section>
85 </section>
86 </article>
87 <article>
88 <h3>transform</h3>
89 <section>
90 <header><h4>Transform: scale(1.5, 2)</h4></header>
91 <section class="sample-view">
92 <div class="transform-box transform-scale">Scale</div>
93 </section>
94 <header><h4>Transform: skew(30deg, 20deg)</h4></header>
95 <section class="sample-view">
96 <div class="transform-box transform-skew">Skew</div>
97 </section>
98 <header><h4>Transform: rotate(45deg) scale(1.5)</h4></header>
99 <section class="sample-view">
100 <div class="transform-box transform-rotate">Rotate Scale</div>
101 </section>
102 </section>
103 </article>
104 <article>
105 <h3>transform functions</h3>
106 <section>
107 <header><h4>Transform: translate(100px, 50px)</h4></header>
108 <section class="sample-view">
109 <div class="transform-box transform-translate">Translate</div>
110 </section>
111 <header><h4>Transform: rotate(45deg)</h4></header>
112 <section class="sample-view">
113 <div class="transform-box transform-rotate">Rotate</div>
114 </section>
115 <header><h4>Transform: scale(1.5, 2)</h4></header>
116 <section class="sample-view">
117 <div class="transform-box transform-scale">Scale</div>
118 </section>
119 <header><h4>Transform: skew(30deg, 20deg)</h4></header>
120 <section class="sample-view">
121 <div class="transform-box transform-skew">Skew</div>
122 </section>
123 <header><h4>Transform: matrix(1, 0.5, -0.5, 1, 100, 0)</h4></header>
124 <section class="sample-view">
125 <div class="transform-box transform-matrix">Matrix</div>
126 </section>
127 <header><h4>Transform: translate3d(50px, 50px, 50px)</h4></header>
128 <section class="sample-view perspective">
129 <div class="transform-box transform-translate3d">Translate3D</div>
130 </section>
131 <header><h4>Transform: rotate3d(1, 1, 0, 45deg)</h4></header>
132 <section class="sample-view perspective">
133 <div class="transform-box transform-rotate3d">Rotate3D</div>
134 </section>
135 <header><h4>Transform: rotate(45deg) scale(1.5)</h4></header>
136 <section class="sample-view">
137 <div class="transform-box transform-rotate-scale">Rotate Scale</div>
138 </section>
139 </section>
140 </article>
141 <article>
142 <h3>transform-origin</h3>
143 <section>
144 <header><h4>transform-origin: left top</h4></header>
145 <section class="sample-view">
146 <div class="transform-box transform-origin">Transform<br>(left-top)</div>
147 </section>
148 <header><h4>transform-origin: right bottom</h4></header>
149 <section class="sample-view">
150 <div class="transform-box transform-origin-right-bottom">Transform<br>(right-bottom)</div>
151 </section>
152 <header><h4>transform-origin: 0% 100%</h4></header>
153 <section class="sample-view">
154 <div class="transform-box transform-origin-percent">Transform<br>(percent)</div>
155 </section>
156 </section>
157 </article>
158 </main>
159</body>
160</html>
ผลกระทบของตัวกรอง
คุณสมบัติ filter
1.filtered-image-sepia {
2 filter: sepia(1);
3}
4
5.filtered-image-opacity {
6 filter: opacity(0.5);
7}
8
9.filtered-image-multiple {
10 filter: brightness(1.2) contrast(1.5) sepia(0.5);
11}
คุณสมบัติ filter
ใช้สำหรับเพิ่มเอฟเฟกต์ภาพให้กับองค์ประกอบ คุณสามารถเพิ่มเอฟเฟกต์ต่างๆ ได้อย่างง่ายดาย เช่น ทำให้ภาพหรือองค์ประกอบเบลอ ปรับความสว่าง และเปลี่ยนความคมชัด
- คลาส
filtered-image-sepia
มีเอฟเฟกต์สีซีเปียเพิ่มให้ - คลาส
filtered-image-opacity
มีเอฟเฟกต์ความโปร่งใสเพิ่มให้ - คลาส
filtered-image-multiple
มีเอฟเฟกต์ความสว่าง ความคมชัด และสีซีเปียเพิ่มให้ในภาพ
ไวยกรณ์พื้นฐาน
1filter: none | <filter-function> [<filter-function>]*;
สำหรับคุณสมบัติ filter
ให้กำหนดค่าเป็น none
หรือ filter-function
- การกำหนดค่า
none
จะไม่เพิ่มเอฟเฟกต์ฟิลเตอร์ใดๆ - กำหนดฟังก์ชันฟิลเตอร์ที่ต้องการใช้ภายใน
<filter-function>
คุณสามารถกำหนดฟิลเตอร์หลายตัวโดยคั่นด้วยเว้นวรรค
ประเภทของฟังก์ชันฟิลเตอร์
blur()
1filter: blur(5px);
ฟังก์ชัน blur()
ใช้สำหรับเพิ่มเอฟเฟกต์เบลอ
- ค่าจะถูกกำหนดเป็นพิกเซล (px) และยิ่งค่ามากขึ้น องค์ประกอบก็จะเบลอยิ่งขึ้น
brightness()
1filter: brightness(1.5);
ฟังก์ชัน brightness()
ใช้สำหรับปรับความสว่าง
- ค่าจะถูกกำหนดโดยใช้ช่วงตั้งแต่
0
(มืดสนิท) ถึง1
(ความสว่างดั้งเดิม) การกำหนดค่ามากกว่า1
จะทำให้องค์ประกอบสว่างขึ้น
contrast()
1filter: contrast(2);
ฟังก์ชัน contrast()
ใช้สำหรับปรับความคมชัด
- ค่าจะถูกกำหนดโดยใช้ช่วงตั้งแต่
0
(ระดับสีเทา) ถึง1
(ความคมชัดเดิม) และค่ามากกว่า1
จะเพิ่มความคมชัด
grayscale()
1filter: grayscale(1);
ฟังก์ชัน grayscale()
ใช้สำหรับเปลี่ยนองค์ประกอบให้เป็นโทนสีเดียว
- ค่าได้รับการกำหนดตั้งแต่
0
(สีต้นฉบับ) ถึง1
(โมโนโครมทั้งหมด)
hue-rotate()
1filter: hue-rotate(90deg);
ฟังก์ชัน hue-rotate()
ใช้ในการหมุนเฉดสี
- ค่าจะถูกกำหนดในหน่วยองศา (deg) และใช้ในการเปลี่ยนสีโดยการหมุนเฉดสี เฉดสีหมุนได้ในช่วงตั้งแต่
0deg
ถึง360deg
invert()
1filter: invert(1);
ฟังก์ชัน invert()
ใช้ในการกลับสี
- ค่าได้รับการกำหนดตั้งแต่
0
(สีต้นฉบับ) ถึง1
(กลับสีทั้งหมด)
opacity()
1filter: opacity(0.5);
ฟังก์ชัน opacity()
ใช้ในการปรับความโปร่งใสขององค์ประกอบ
- ค่ากำหนดได้ในช่วงตั้งแต่
0
(โปร่งใสทั้งหมด) ถึง1
(ทึบแสง)
saturate()
1filter: saturate(2);
ฟังก์ชัน saturate()
ใช้ในการปรับความอิ่มตัวของสี
- ค่าจะอยู่ในช่วงจาก
0
(โมโนโครม) ถึง1
(ความอิ่มตัวของสีต้นฉบับ) และสามารถกำหนดค่าสูงกว่า1
เพื่อเพิ่มความอิ่มตัวของสี
sepia()
1filter: sepia(1);
ฟังก์ชัน sepia()
ใช้ในการเปลี่ยนเป็นโทนสีน้ำตาลเก่า
- ค่าได้รับการกำหนดตั้งแต่
0
(สีต้นฉบับ) ถึง1
(โทนสีน้ำตาลเก่าเต็มรูปแบบ)
การใช้ฟิลเตอร์หลายตัว
1filter: brightness(1.2) contrast(1.5) sepia(0.5);
สามารถใช้ฟิลเตอร์หลายตัวได้โดยการคั่นด้วยช่องว่าง
ข้อดีของการใช้คุณสมบัติ filter
คุณสมบัติ filter
เป็นเครื่องมือที่ทรงพลังสำหรับการสร้างองค์ประกอบที่น่าสนใจทางสายตาได้อย่างง่ายดาย มีข้อดีดังต่อไปนี้:
- สามารถเพิ่มเอฟเฟกต์ภาพได้ง่าย
- สามารถปรับภาพได้โดยใช้ CSS เท่านั้น โดยไม่ต้องใช้ซอฟต์แวร์แก้ไขภาพ
- สามารถสร้างเอฟเฟกต์แบบไดนามิกได้ด้วยการผสมผสานกับแอนิเมชัน
คุณสมบัติ transform
1.transform-box {
2 width: 100px;
3 height: 100px;
4 background-color: skyblue;
5 transition: transform 0.3s ease;
6}
7
8.transform-scale:hover {
9 /* Width 1.5 times and height 2 times */
10 transform: scale(1.5, 2);
11}
12
13.transform-skew:hover {
14 /* Skew 30 degrees on the X-axis and 20 degrees on the Y-axis */
15 transform: skew(30deg, 20deg);
16}
17
18.transform-rotate:hover {
19 transform: rotate(45deg) scale(1.5);
20}
คุณสมบัติ transform
ใช้สำหรับนำการเปลี่ยนแปลง 2D หรือ 3D มาใช้กับองค์ประกอบ การเปลี่ยนแปลงที่หลากหลาย เช่น ตำแหน่ง การหมุน การปรับขนาด (ขยาย/ย่อ) และการเฉียง สามารถกำหนดได้ด้วย CSS คุณสมบัติ transform
มักถูกใช้ร่วมกับแอนิเมชัน และช่วยในการสร้างองค์ประกอบ UI แบบไดนามิก
-
ในคลาส
transform-scale
เมื่อเลื่อนเมาส์ไปที่องค์ประกอบ ความกว้างจะขยายขึ้น 1.5 เท่า และความสูงจะขยายขึ้น 2 เท่า -
ในคลาส
transform-skew
เมื่อเลื่อนเมาส์ไปที่องค์ประกอบ องค์ประกอบจะหมุน 30 องศาบนแกน X และ 20 องศาบนแกน Y -
ในคลาส
transform-rotate
เมื่อเลื่อนเมาส์ไปที่องค์ประกอบ องค์ประกอบจะหมุน 45 องศาและขยายขึ้น 1.5 เท่า
ไวยกรณ์พื้นฐาน
1transform: none | <transform-function> [<transform-function>]*;
คุณสมบัติ transform
ระบุได้ว่าเป็น none
หรือ transform-function
- ถ้าระบุเป็น
none
จะไม่มีการเปลี่ยนรูปใด ๆ ถูกใช้ - ระบุประเภทของการเปลี่ยนรูปด้วย
<transform-function>
สามารถใช้การเปลี่ยนรูปหลาย ๆ แบบได้โดยแยกด้วยเว้นวรรค
ฟังก์ชันการเปลี่ยนรูปหลัก
translate()
1/* Move 50px to the right and 100px down */
2transform: translate(50px, 100px);
3
4transform: translateX(50px); /* Move 50px to the right */
5transform: translateY(100px); /* Move 100px down */
- ฟังก์ชัน
translate(x, y)
จะย้ายองค์ประกอบตามระยะทางที่ระบุในแกน X และ Y ระบุx
และy
โดยใช้หน่วยเช่นpx
หรือ%
คุณสามารถระบุแยกกันได้ด้วยtranslateX()
หรือtranslateY()
rotate()
1transform: rotate(45deg); /* Rotate 45 degrees */
- ฟังก์ชัน
rotate(angle)
จะหมุนองค์ประกอบตามมุมที่ระบุเป็นองศา (deg
)
scale()
1/* Width 1.5 times and height 2 times */
2transform: scale(1.5, 2);
3
4transform: scaleX(1.5); /* Width 1.5 times */
5transform: scaleY(2); /* Height 2 times */
- ฟังก์ชัน
scale(x, y)
ปรับขนาดองค์ประกอบตามแกน X และ Yx
และy
เป็นปัจจัยการปรับขนาดที่สัมพันธ์กับขนาดดั้งเดิม ตัวอย่างเช่นscale(2, 2)
จะทำให้ขนาดเพิ่มขึ้นเป็น 2 เท่า คุณสามารถระบุแยกกันได้ด้วยscaleX()
หรือscaleY()
skew()
1/* Skew 30 degrees on the X-axis and
2 20 degrees on the Y-axis */
3transform: skew(30deg, 20deg);
4
5/* Skew 30 degrees on the X-axis */
6transform: skewX(30deg);
7
8/* Skew 20 degrees on the Y-axis */
9transform: skewY(20deg);
- ฟังก์ชัน
skew(x-angle, y-angle)
จะเอียงองค์ประกอบตามมุมที่ระบุบนแกน X และ Y คุณสามารถระบุแยกกันได้ด้วยskewX()
หรือskewY()
matrix()
1/* Apply a special transformation */
2transform: matrix(1, 0.5, -0.5, 1, 0, 0);
- ฟังก์ชัน
matrix()
ระบุเมทริกซ์สำหรับรวมการเปลี่ยนรูปหลายแบบพร้อมกัน โดยปกติแล้วจะใช้ร่วมกับฟังก์ชันการเปลี่ยนรูปอื่น ๆ
ฟังก์ชันการเปลี่ยนรูปแบบ 3 มิติ
translate3d()
1/* Moves the element 100px to the right (X-axis),
250px down (Y-axis), and 30px towards the viewer (Z-axis) */
3transform: translate3d(100px, 50px, 30px);
4
5/* Allows child elements to preserve their 3D position relative to the parent */
6transform-style: preserve-3d;
7
8/* Applies a perspective from a distance of 600px to give a sense of depth */
9perspective: 600px;
- ฟังก์ชัน
translate3d()
ทำการย้ายตำแหน่งในพื้นที่ 3 มิติ- สามารถระบุในสามมิติได้: แกน X, Y และ Z
- โดยการตั้งค่าคุณสมบัติ
transform-style
เป็นpreserve-3d
และคุณสมบัติperspective
เป็น600px
จะทำให้เกิดเอฟเฟกต์การเคลื่อนไหวแบบสามมิติที่มีความลึกกับองค์ประกอบลูก
rotate3d()
1/* Rotate 45 degrees around the X and Y axes */
2transform: rotate3d(1, 1, 0, 45deg);
3
4transform-style: preserve-3d;
5perspective: 600px;
- ฟังก์ชัน
rotate3d()
ทำการหมุนในพื้นที่ 3 มิติ- ใช้เพื่อหมุนองค์ประกอบตามแกน X, Y และ Z
การรวมการแปลงหลายๆ แบบเข้าด้วยกัน
1transform: rotate(45deg) scale(1.5);
คุณสมบัติ transform
สามารถใช้งานการแปลงหลายแบบพร้อมกันได้ ตัวอย่างเช่น คุณสามารถรวมการหมุนและการปรับขนาดเข้าด้วยกัน
จุดสำคัญสำหรับการใช้งาน
คุณสมบัติ transform
เป็นเครื่องมือทรงพลังใน CSS สำหรับการเปลี่ยนแปลงลักษณะทางสายตาขององค์ประกอบ ด้วยการรวมฟังก์ชันหลายแบบเข้าด้วยกัน คุณสามารถสร้าง UI ที่มีการโต้ตอบและดูมีชีวิตชีวาได้
- คุณสมบัติ
transform
ช่วยให้สามารถแปลงองค์ประกอบโดยตรง ทำให้การเปลี่ยนแปลงลักษณะภาพไม่ต้องเปลี่ยนแปลงเลย์เอาต์ของ DOM - มันมีประโยชน์มากสำหรับการสร้างภาพเคลื่อนไหวและองค์ประกอบโต้ตอบ โดยช่วยสร้างการออกแบบที่มีชีวิตชีวาได้เมื่อใช้ร่วมกับ
transition
หรือanimation
คุณสมบัติ transform-origin
1.transform-box {
2 background-color: skyblue;
3}
4
5.transform-origin-left-top:hover {
6 /* Based on the top left corner */
7 transform-origin: left top;
8 transform: rotate(45deg) scale(1.2);
9}
10
11.transform-origin-right-bottom:hover {
12 /* Based on the right bottom corner */
13 transform-origin: right bottom;
14 transform: rotate(45deg) scale(1.2);
15}
16
17.transform-origin-percent:hover {
18 /* Transform based on the bottom left corner */
19 transform-origin: 0% 100%;
20 transform: rotate(45deg) scale(1.2);
21}
คุณสมบัติ transform-origin
ใช้สำหรับกำหนดจุดกำเนิดของการแปลงที่ใช้ผ่านคุณสมบัติ transform
คุณสามารถกำหนดจุดอ้างอิงสำหรับการแปลงขององค์ประกอบ เพื่อควบคุมว่าจะใช้เอฟเฟกต์ เช่น การหมุนหรือการปรับขนาด รอบตำแหน่งใด
ในตัวอย่างนี้ เมื่อคุณวางเมาส์เหนือองค์ประกอบ มันจะหมุนและปรับขนาดพร้อมกันตามจุดที่กำหนดโดยคุณสมบัติ transform-origin
ไวยกรณ์พื้นฐาน
1transform-origin: x y z;
สำหรับคุณสมบัติ transform-origin
คุณสามารถกำหนดค่า x
, y
, และ z
ได้ดังนี้
- สำหรับ
x
ให้กำหนดจุดอ้างอิงบนแกน X (แกนนอน) ค่าของx
สามารถระบุได้โดยใช้คำสำคัญ (left
,center
,right
) หรือหน่วยความยาว (px
,%
เป็นต้น) - สำหรับ
y
ให้กำหนดจุดอ้างอิงบนแกน Y (แกนตั้ง) ค่าของy
สามารถระบุได้โดยใช้คำสำคัญ (top
,center
,bottom
) หรือหน่วยความยาว - สำหรับ
z
ให้กำหนดจุดอ้างอิงบนแกน Z (ทิศทางความลึก) มันสามารถใช้งานได้เฉพาะกับการแปลง 3 มิติ มันเป็นทางเลือก และค่าปริยายคือ0
ค่าเริ่มต้น
1transform-origin: 50% 50%; /* Center of the element */
ค่าปริยายสำหรับคุณสมบัติ transform-origin
คือจุดกึ่งกลางขององค์ประกอบทั้งแกน X และ Y นี่หมายความว่า โดยปริยาย การแปลงจะดำเนินการโดยใช้จุดกึ่งกลางขององค์ประกอบเป็นจุดอ้างอิง
วิธีการกำหนดค่า
ค่าของคุณสมบัติ transform-origin
สามารถระบุได้โดยใช้คำสำคัญ เปอร์เซ็นต์ หรือหน่วยความยาว เช่น px
, em
เป็นต้น
-
การระบุด้วยคำสำคัญ
left
: ตั้งค่าจุดอ้างอิงแกน X ไปยังขอบด้านซ้ายขององค์ประกอบright
: ตั้งค่าจุดอ้างอิงแกน X ไปยังขอบด้านขวาขององค์ประกอบtop
: ตั้งค่าจุดอ้างอิงแกน Y ไปยังขอบด้านบนขององค์ประกอบbottom
: ตั้งค่าจุดอ้างอิงแกน Y ไปยังขอบด้านล่างขององค์ประกอบcenter
: ตั้งค่าจุดอ้างอิงสำหรับแกน X หรือ Y ไปยังจุดกึ่งกลางขององค์ประกอบ
-
การกำหนดค่าด้วยเปอร์เซ็นต์
0%
: ตั้งค่าให้อยู่ที่ขอบด้านซ้ายหรือด้านบน50%
: ตั้งค่าให้อยู่ที่จุดกึ่งกลาง100%
: ตั้งค่าให้อยู่ที่ขอบด้านขวาหรือด้านล่าง
-
การกำหนดค่าด้วยความยาว
- คุณสามารถปรับจุดอ้างอิงได้ละเอียดโดยใช้หน่วยวัดความยาวเฉพาะ เช่น
px
,em
, เป็นต้น
- คุณสามารถปรับจุดอ้างอิงได้ละเอียดโดยใช้หน่วยวัดความยาวเฉพาะ เช่น
transform-origin
ในการแปลงแบบ 3D
1.box {
2 width: 100px;
3 height: 100px;
4 background-color: lightblue;
5 transform-origin: 50% 50% 50px; /* Specify the Z-axis as well */
6 transform: rotateY(45deg);
7}
transform-origin
สามารถนำมาใช้ในการแปลงแบบ 3D ได้เช่นกัน ในการแปลงแบบ 3D คุณสามารถกำหนดจุดอ้างอิงบนแกน Z ได้เช่นกัน ตัวอย่างเช่น โดยการกำหนดจุดกึ่งกลางของการหมุนในทิศทางความลึก การแปลงที่มีความรู้สึกถึงมิติความลึกจะเป็นไปได้
คุณสามารถติดตามบทความข้างต้นโดยใช้ Visual Studio Code บนช่อง YouTube ของเรา กรุณาตรวจสอบช่อง YouTube ด้วย