หลักการทำ Animation แบบง่ายๆ โดย อ. นัฐพงศ์ ส่งเนียม VB.NET_02_graphics_in_vb_n et_06_Animation02_Analog_C lock.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
E-COMMERCE WEBSITE Smartzap Co., Ltd.. Company Profile บริษัท สมาร์ทแซป จำกัด ก่อตั้งเมื่อปี 2543 (13 ปี ) ในช่วงยุค Internet เพิ่ง เริ่มต้น เป็นบริษัทที่ดำเนินงานทางด้าน.
Advertisements

Power Point for the Optimum Basic Power Point User • หลักการนำเสนอ และ pitfalls • โปรแกรม ppt. ทำอะไร ได้บ้าง workshop 1. ppt. tools และการใช้งาน พื้นฐาน.
Braille OCR Mobile Application
การอบรมเชิงปฏิบัติการเรื่อง “การสร้างข้อสอบ OSCE”
VARIABLES, EXPRESSION and STATEMENTS. Values and Data Types Value เป็นสิ่งพื้นฐาน มีลักษณะเป็น ตัวอักษร หรือ ตัวเลข อาทิ 2+2 หรือ “Hello world” Value.
: Chapter 1: Introduction 1 Montri Karnjanadecha ac.th/~montri Image Processing.
Color Standards A pixel color is represented as a point in 3-D space. Axis may be labeled as independent colors such as R, G, B or may use other independent.
THREE-DIMENSIONAL GEOMETRIC
การเลื่อนเงินเดือนข้าราชการ
ตัวอย่างการนำเสนอ Sample Presentation
PERFECT TENSE.
Properties ของคอนโทรล ที่ควรรู้จักในเบื้องต้น
Chapter 12 Riveted, Bolted & Welded Connections
การสร้าง Random ตัวเลขซ้ำและไม่ซ้ำ การเรียกดูไฟล์ในโฟลเดอร์ Function
ผลการดำเนินงานปีงบประมาณ 2554 (ต.ค ธ.ค. 2553)
พื้นที่น้ำท่วม วันที่ 23 ต.ค. 2554
Put “the Glass” Down วาง”แก้ว”ลง
Binary Image Processing
Yv xv zv.
ทบทวนเรื่อง GUI - กลุ่มคำสั่ง AWT Set (Abstract Windowing Toolkit) และ
Dynamic Link Library (DLL)
1.  สร้าง datasource ติดต่อกับตาราง UserPic เพื่อเลือก username และ รูปภาพขึ้นมาแสดงผล โดยให้ ค่าพารามิเตอร์ username มาจาก Session "SELECT * FROM [UserPic]
HTML Hypertext Markup Language Updated : August 23,2012.
Timer ตัวจัดการด้านเวลา
บทที่ 3 ชนิดของข้อมูลและตัวดำเนินการ
ง30216 การสร้างเกมคอมพิวเตอร์
การคำนวณค่าไฟฟ้า.
Lecture on Grading. Instructor: Ajarn Neill Grant Office: Room Course Website: (NO
Java Programming Language สาขาวิชาระบบสารสนเทศ คณะบริหารธุรกิจ มหาวิทยาลัยเทคโนโลยีราชมงคลกรุงเทพ.
Thread Thread ส่วนของ process ที่ให้ CPU ประมวลผล.
โดย อ. นัฐพงศ์ ส่งเนียม การเขียนโปรแกรมคอมพิวเตอร์ และอัลกอรทึ่ม ( ) Lec04 : [ การแปลงจาก FlowChart.
การค้นหาข้อมูลในฐานข้อมูล VB.NET & ADO.NET
โดย อ. นัฐพงศ์ ส่งเนียม Do Loop Until โดย อ. นัฐพงศ์ ส่งเนียม
การเขียนโปรแกรมคอมพิวเตอร์ และอัลกอริทึ่ม Lec03 : 25/03/2551 การทำงานกับ Event ต่าง ๆ โดย อ. นัฐพงศ์ ส่งเนียม
วิชา :: การเขียนโปรแกรมภาษาคอมพิวเตอร์ขั้นสูง
Modular Algorithm Function & Procedure By Nattapong Songneam
Selection Nattapong Songneam.
หลักการทำ Animation แบบง่ายๆ
การวาดวงกลม Arc วงรี pie และ โปรแกรมเกมส์ Pacman
เขียนโปรแกรมเพื่อแสดงข้อมูลพนักงาน ด้วย ADO.NET vs. DataReader
การใช้งาน Hatch Brush , Texture Brush
การเขียนโปรแกรมภาษาคอมพิวเตอร์ขั้นสูง
วิชาคอมพิวเตอร์กราฟิก intro_vb_net_06 การสร้างกราฟเส้นตรงด้วย VB.NET
วิชาคอมพิวเตอร์กราฟิก
จัดทำโดย นางสาวทิพยรัตน์ กำลังมาก เลขที่ 19 นางสาวปัญณิศา ป้องขันธ์ เลขที่ 26 นางสาวพรวษาทวีกุล เลขที่ 27 นางสาววลัยลักษณ์ ขวัญคุ้ม เลขที่ 34 นางสาวอมรรัตน์
UHF RFID Reader.
การสร้าง WebPage ด้วย Java Script Wachirawut Thamviset.
Chapter 3 Simple Supervised learning
Lecture 3 ฟอร์ม, คอนโทรล. Initial Visual Basic Screen.
การเขียนโปรแกรมสั่งงานตัวควบคุม (Control)
สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
การตัดสินใจแบบกิ่งก้านสาขา (Decision tree)
BCS 121 บท 5 การโปรแกรมเชิงวัตถุ (Object-Oriented Programming)
Polymorphism กนกวรรธน์ เซี่ยงเจ็น
ด้านตรงข้ามมุมฉาก ด้านตรงข้ามมุมA ด้านประชิดมุมA.
รู้จักและใช้งาน Applet
ให้ทำการเขียนโปรแกรมเพื่อแสดงรูปภาพ ดังนี้
Problem Analysis and Algorithm (การวิเคราะห์ปัญหา และการจำลองความคิด)
1 Inheritance อุทัย เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร วิทยาเขต สารสนเทศพะเยา.
Timed Math Quiz. โปรแกรมสุ่มคำนวณเลขแข่งกับ เวลา.
Part 8 Overcoming Discouragement
ยินดีต้อนรับ.
ข้อมูล ตัวแปร และค่าคงที่ของภาษา VB
ตอนที่ 3: ท่านเป็นผู้ชอบธรรมได้อย่างไร?
คำเทศนาชุด: ท่านมีของประทาน
การรัน-การใช้ IntelliSense-แก้ข้อผิดพลาด
1. พระเยซูทรงต้องการให้เราเป็น เหมือนพระองค์
English Asia - ex.
<insert problem title>
Extreme Programming Explained: Embrace Change
ใบสำเนางานนำเสนอ:

หลักการทำ Animation แบบง่ายๆ โดย อ. นัฐพงศ์ ส่งเนียม VB.NET_02_graphics_in_vb_n et_06_Animation02_Analog_C lock

โปรแกรมนาฬิกาแบบ Analog

ตั้งชื่อ VB11_Animation02_Analog_Clock ไปที่ เมนู File เลือก New เลือก Project ตั้งชื่อ :: VB11_Animation02_Analog_Clock

กำหนดคุณสมบัติของฟอร์มดังนี้ Name :: Frm_Animation02_Analog_Clock Text :: โปรแกรมนาฬิกาแบบ Analog BackColor ::

นำ Timer มาวางบนฟอร์ม แล้วกำหนดคุณสมบัติของ Time ดังนี้ – Name :: Timer1 – Enabled :: True – Interval :: 1000

เพิ่ม Name Space ที่เกี่ยวข้องดังนี้

เลือกเหตุการณ์ Form_Paint

สร้าง Background ของ นาฬิกา So we should have enough of a grasp on GDI to implement our analog clock now. I saw a really nice looking clock on Codeproject, so my inspiration has come from there (but not the code itself, one must learn to do things for oneself). Codeproject

คำสั่งส่วนแรก ' Get Graphics Object Dim g As Graphics = e.Graphics ' Create Rectangle To Limit brush area. Dim rect As New Rectangle(20, 20, 230, 230) ' Create Brush Dim linearBrush As New LinearGradientBrush(rect, Color.FromArgb(0, 0, 0), _ Color.FromArgb(120, 120, 255), 225) ' Draw Outer Rim to screen. g.FillEllipse(linearBrush, 20, 20, 200, 200) linearBrush.LinearColors = New Color() {Color.FromArgb(120, 120, 225), Color.FromArgb(0, 0, 0)} ' Draw Inner Rim to screen. g.FillEllipse(linearBrush, 30, 30, 180, 180) 1 1

The Face เพิ่มวงกลมด้านในรูป linearBrush.LinearColors = New Color() {Color.FromArgb(0, 0, _ 0), Color.FromArgb(120, 120, 255)} ' Draw face to screen. g.FillEllipse(linearBrush, 33, 33, 174, 174) 2 2

พิมพ์ตัวเลขเวลา ' Create Brush Dim numeralBrush As New SolidBrush(Color.White) ' Create Font Dim textFont As New Font("Arial Bold", 12.0F) ' Draw Numerals g.DrawString("12", textFont, numeralBrush, 109, 40) g.DrawString("11", textFont, numeralBrush, 75, 50) g.DrawString("10", textFont, numeralBrush, 47, 75) g.DrawString("9", textFont, numeralBrush, 43, 110) g.DrawString("8", textFont, numeralBrush, 52, 145) g.DrawString("7", textFont, numeralBrush, 75, 170) g.DrawString("6", textFont, numeralBrush, 113, 180) g.DrawString("5", textFont, numeralBrush, 150, 170) g.DrawString("4", textFont, numeralBrush, 173, 145) g.DrawString("3", textFont, numeralBrush, 182, 110) g.DrawString("2", textFont, numeralBrush, 173, 75) g.DrawString("1", textFont, numeralBrush, 150, 50) 3 3

วาดเข็มนาฬิกา ส่วนที่ 1 ' In order to draw the hands, we need to Translate to the center of the clock. g.TranslateTransform(120, 120, MatrixOrder.Append) ' Get the current time ดึงเวลาปัจจุบันของเครื่อง เป็น ชั่วโมง นาที วินาที Dim hour As Integer = DateTime.Now.Hour Dim min As Integer = DateTime.Now.Minute Dim sec As Integer = DateTime.Now.Second ' Create Brushes and Pens Dim hourBrush As New SolidBrush(Color.White) Dim minuteBrush As New SolidBrush(Color.LightGray) Dim secondPen As New Pen(Color.Red, 1) ' Create angles สร้างมุมสำหรับ วินาที นาที และ ชั่วโมง Dim secondAngle As Single = 2.0 * Math.PI * sec / 60.0 Dim minuteAngle As Single = 2.0 * Math.PI * (min + sec / 60.0) / 60.0 Dim hourAngle As Single = 2.0 * Math.PI * (hour + min / 60.0) /

วาดเข็มนาฬิกา ส่วนที่ 2 ' Set centre point Dim centre As New Point(0, 0) ' Draw Hour Hand วาดเข็ม ชั่วโมง Dim gpHour As New GraphicsPath() Dim HourArrow As Point() = { _ New Point(Convert.ToInt32(40 * Math.Sin(hourAngle)), _ Convert.ToInt32(-40 * Math.Cos(hourAngle))), _ New Point(Convert.ToInt32(-5 * Math.Cos(hourAngle)), _ Convert.ToInt32(-5 * Math.Sin(hourAngle))), _ New Point(Convert.ToInt32(5 * Math.Cos(hourAngle)), _ Convert.ToInt32(5 * Math.Sin(hourAngle))), _ New Point(Convert.ToInt32(40 * Math.Sin(hourAngle)), _ Convert.ToInt32(-40 * Math.Cos(hourAngle)))} gpHour.AddPolygon(HourArrow) g.FillPath(hourBrush, gpHour) g.FillEllipse(hourBrush, -5, -5, 10, 10) 5 5

วาดเข็มนาฬิกา ส่วนที่ 3 ' Draw Minute Hand Dim gpMinute As New GraphicsPath() Dim MinuteArrow As Point() = { _ New Point(Convert.ToInt32(70 * Math.Sin(minuteAngle)), _ Convert.ToInt32(-70 * Math.Cos(minuteAngle))), _ New Point(Convert.ToInt32(-5 * Math.Cos(minuteAngle)), _ Convert.ToInt32(-5 * Math.Sin(minuteAngle))), _ New Point(Convert.ToInt32(5 * Math.Cos(minuteAngle)), _ Convert.ToInt32(5 * Math.Sin(minuteAngle))), _ New Point(Convert.ToInt32(70 * Math.Sin(minuteAngle)), _ Convert.ToInt32(-70 * Math.Cos(minuteAngle)))} gpMinute.AddPolygon(MinuteArrow) g.FillPath(minuteBrush, gpMinute) g.FillEllipse(minuteBrush, -5, -5, 10, 10) 6 6

วาดเข็มนาฬิกา ส่วนที่ 4 ' Draw Second Hand Dim secHand As New Point(Convert.ToInt32(70 * Math.Sin(secondAngle)), _ Convert.ToInt32(-70 * Math.Cos(secondAngle))) g.DrawLine(secondPen, centre, secHand) ' Now tidy up linearBrush.Dispose() numeralBrush.Dispose() textFont.Dispose() hourBrush.Dispose() minuteBrush.Dispose() secondPen.Dispose() 7 7

คำสั่งใน Timer Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Me.Invalidate() End Sub 8 8