รวบรวม Code ต่างๆนานา ที่เคยพบเจอมาจากประสบการณ์

UNDERGROUND PROGRAMMER PRESENT

วันเสาร์ที่ 26 สิงหาคม พ.ศ. 2560

VB.NET Code#6 GDI Graphic (Transparent Background)

 GDI (Graphic Device Interface) มาสร้างงานกราฟฟิกใน Visual Basic กัน !!!

ก่อนอื่นต้องพูดให้ฟังก่อนว่าไอ่เจ้า GDI มันคืออะไร ? ตอบแบบสั้นๆ ง่ายๆ มันก็คือ วิธีการวาดรูปทรง, รูปภาพ, ตัวอักษร หรืออื่นใดที่เป็นงานเกี่ยวกับ Graphic ใน VB.net นี้ละ (สั้นดีไหม 😀)


ขอย้อนอดีตของเจ้า GDI นี้หน่อยละกันนะ  เรื่องราวมักก็มีอยู่ว่า ในทุกๆ Application ที่สร้างมาและรันบนระบบปฏิบัติการเนี๊ยะ มันไม่สามารถที่จะวาดหรือเขียนข้อความโดยตรงกับ ฮาร์ดแวร์ได้นะ (แม้แต่เจ้าตัว Windows เองนี้ละ) ดังนั้นมันก็ต้องมีการใช้ตัวกลางที่เรียกว่า  DC หรือ Device Context นั่นเอง มาทำหน้าที่ในการวาดแทนไงละ แล้วมันก็เลยถูกนำมาใช้งานอย่างมากมายใน  Windows ซึ่งก็คือ Graphic Device Interface หรือ  GDI  นี้ละนะ

เอาละมาเข้าเรื่องราวของเรากัน นั่นก็คือ เราจะสร้าง Object เป็นแบบกราฟฟิกโปร่งใส ไว้ใช้งานกัน (เอาวงกลมละกันเนาะ)

มาเริ่มกันเลย Let Go!!

เดี๋ยวเราจะสร้างให้ออกมาแบบนี้ละนะ 😲😲😲😲

** แต่คงจะไม่อธิบายทั้งหมดนะ คิดว่าเห็นหน้าจอแบบนี้คงนึกออกว่าใช้  Controls อะไรบ้างละนะ (บอกให้หน่อยก็ได้ ก็จะมี Button, Panel, PropertyGrid) เพราะจะเน้นไปทางการสร้าง Object จาก Class และการนำมาใช้งานละกัน

1. สร้างคลาสสำหรับ Object Circle 
  • ต้องสามารถกำหนดได้ว่าจะมีพื้นหลังโปร่งแสงได้หรือไม่ (Transparent Background)
  • กำหนดขนาดของ Width, Height, Line Color, Line Border, Font Size และ For color Text ได้
  • ต้องสามารถเคลื่อนย้าย Object ได้อย่างอิสระโดยการลากเมาส์
Import namespace ที่ต้องใช้งานเข้ามาก่อนเลย จากนั้นก็ทำการสร้างตัวดำเนินการขึ้นมาสำหรับ กำหนดค่าของส่วน Transparent background


เอาละจานี้ก็สร้าง class ขึ้นมา (ตั้งชื่อด้วยนะ ในที่นี้จะชื่อ Class_circle) ทำการ Inherits กับเจ้า UserControl ด้วย (ไอ่เจ้า UserControl นี้เดี๋ยวในบทความถัดไป...เราจะไปเยี่ยมเยือนมัน) กำหนดตัวแปรไว้สำหรับเก็บค่า properties ต่างๆด้วยละ จากนั้นก็กำหนดค่ารูปแบบเริ่มต้นสะ (New)


ส่วนนี้ก็เป็นการสร้าง Properties ต่างๆนะ ต้องการเพิ่มอะไรก็กำหนดเอา  


ก็ส่วนตรงนี้ละ ที่เจ้า GDI เข้ามาทำงาน ซึ่งหน้าที่ ของมันก็จะทำการวาด..วาด...วาด...โดยอ้างอิงตาม ตัวแปร properties ต่างๆ ที่เราทำการกำหนดนั่นแหละ

--- เอาละที่นี้เราก็จะได้ object ที่เป็นวงกลมละนะ โดยสามารถกำหนด properties ต่างได้ จากนี้ก็นำไปใช้ได้โลด

เอ๊ะ !!!! ลืมไปเหลืออีกอย่างนี้หว่าต้องทำให้มันเคลื่อนย้ายได้ เอา..มาต่อกันอีกหน่อย....😩😩😩

สร้างตัวแปรเก็บค่าขึ้นมาก่อนเลย เก็บทั้งสี่ทิศเลย


จากนั้นก็ลง Code เกี่ยวกับการเคลื่อนย้ายละนะ


เอาละเสร็จสิ้นสักทีสำหรับ Class นี้ ต่อไปก็ถึงขั้นตอนการนำไปใช้ และการสร้างหน้าจอกำหนด properties ของ Object ละนะ (Control PropertyGrid)

** ไอ่เจ้า Component PropertyGrig หากไม่มีใน Toolbox ก็ให้ทำการเพิ่มเข้ามาใหม่จากตรงนี้นะ


แล้วไงต่อ !!  ---- ใจเย็นๆ 😜😜

ก่อนอื่นเลยก็ Import Class ที่เราสร้างมาเข้ามาก่อนนะ

Imports ชื่อโปรเจคเราอ่ะ.Class_Circle
Imports System.ComponentModel // อย่าลืม Namespace ตัวนี้ละ

พอเราจะใช้งานก็...


เรียบร้อยจบบทความ ที่เหลือก็นำไปประยุตย์ใช้งานกันเอานะครับ สำหรับรอบนี้ใจดีแจก Class สำหรับ object ต่างๆ ดังนี้  😎😎😎















1 ความคิดเห็น: