GDI+ - อินเทอร์เฟซอุปกรณ์กราฟิกยุคใหม่ แอปพลิ
เคชันอินเทอร์เฟซผู้ใช้แบบกราฟิก (GUI) ทั้งหมดโต้ตอบกับอุปกรณ์ฮาร์ดแวร์ (จอภาพ เครื่องพิมพ์ สแกนเนอร์) ซึ่งสามารถแสดงเป็นข้อมูลที่อ่านได้ อย่างไรก็ตาม แอปพลิเคชันไม่ได้สื่อสารโดยตรงกับอุปกรณ์ ไม่เช่นนั้น จะต้องเขียนโค้ดอินเทอร์เฟซผู้ใช้ที่แตกต่างกันสำหรับแต่ละอุปกรณ์ เพื่อหลีกเลี่ยงการทำงานซ้ำซ้อนนี้ เราสามารถใช้ส่วนประกอบที่สามระหว่างแอปพลิเคชันและอุปกรณ์ได้ ส่วนประกอบนี้จะแปลงและถ่ายโอนข้อมูลที่ส่งไปยังอุปกรณ์ และข้อมูลที่อุปกรณ์ส่งไปยังโปรแกรม และส่วนประกอบนี้คือ GDI+ GDI+ เป็นทางเข้าสู่การโต้ตอบกับอุปกรณ์กราฟิกใน .NET Framework GDI+ คือชุดของคลาส C++ ที่อยู่ในไลบรารีคลาสชื่อ Gdiplus.dll Gdiplus.dll เป็นส่วนประกอบในตัวในระบบปฏิบัติการ Windows XP และ Windows Server 2003 โอเค ผมจะไม่เสียเวลาพูดถึงเรื่องวิชาการที่นี่มากนัก มาใช้ GDI+ วาดภาพในรูปแบบเว็บกันดีกว่า
คุณต้องเคยเห็นภาพแบบนี้แน่นอนภาพนี้ไม่ได้มาตรฐานหากคุณสนใจคุณสามารถลองดูได้!
เนมสเปซ Sky_MsdnDataGrid
-
ใช้ระบบ;
ใช้ System.Collections;
โดยใช้ System.ComponentModel;
ใช้ System.Data;
โดยใช้ระบบการวาดภาพ;
โดยใช้ระบบ.การวาดภาพ.ภาพ;
ใช้ System.Web;
โดยใช้ System.Web.SessionState;
โดยใช้ System.Web.UI;
ใช้ System.Web.UI.WebControls;
ใช้ System.Web.UI.HtmlControls;
/// <สรุป>
/// คำอธิบายโดยย่อของ AspxChart
/// </สรุป>
AspxChart ระดับสาธารณะ: System.Web.UI.Page
-
บิตแมปบิตแมปส่วนตัว
กราฟิกกราฟิกส่วนตัว
int ส่วนตัว [] arrValues;
สตริงส่วนตัว [] arrValueNames;
โมฆะส่วนตัว Page_Load (ผู้ส่งวัตถุ System.EventArgs e)
-
arrValues = ใหม่ int[6];
arrValueNames = สตริงใหม่ [6];
ค่า arr[0] = 100;
ค่า arr[1] = 135;
ค่า arr[2] = 115;
ค่า arr[3] = 125;
ค่า arr[4] = 75;
ค่า arr[5] = 120;
arrValueNames[0] = "มกราคม";
arrValueNames[1] = "กุมภาพันธ์";
arrValueNames[2] = "มีนาคม";
arrValueNames[3] = "เมษายน";
arrValueNames[4] = "พฤษภาคม";
arrValueNames[5] = "มิถุนายน";
นี้.Init_Bitmap();
นี้ Draw_Rectangle();
นี้ Draw_Pie();
//บันทึกภาพที่วาดในรูปแบบ Gif ไปยังเอาต์พุตสตรีมของการตอบกลับหน้าปัจจุบัน
บิตแมป บันทึก (this.Response.OutputStream, ImageFormat.Gif);
-
/// <สรุป>
/// ดำเนินการเริ่มต้นบนบิตแมปที่จะวาด (สามารถจินตนาการเป็นผืนผ้าใบได้)
/// </สรุป>
โมฆะส่วนตัว Init_Bitmap()
-
บิตแมป = บิตแมปใหม่ (400,200);
กราฟิก = Graphics.FromImage (บิตแมป);
กราฟิกชัดเจน(สีขาว);
graphics.DrawString("การขายของบริษัท
-
#region รหัสที่สร้างโดยเครื่องมือออกแบบเว็บฟอร์ม
แทนที่การป้องกันโมฆะ OnInit (EventArgs e)
-
-
// CODEGEN: นี่คือการเรียกที่จำเป็นสำหรับเครื่องมือออกแบบ ASP.NET Web Form
-
เตรียมใช้งานส่วนประกอบ();
ฐาน OnInit(e);
-
/// <สรุป>
/// วิธีนี้จำเป็นสำหรับการรองรับเครื่องมือออกแบบ - อย่าใช้โปรแกรมแก้ไขโค้ดเพื่อแก้ไข
/// เนื้อหาของวิธีนี้
/// </สรุป>
โมฆะส่วนตัว InitializeComponent()
-
this.Load += System.EventHandler ใหม่ (this.Page_Load);
-
#ภูมิภาคสุดท้าย
/// <สรุป>
/// วาดรูปสี่เหลี่ยมบนผืนผ้าใบ
/// </สรุป>
โมฆะส่วนตัว Draw_Rectangle ()
-
ฉัน;
PointF symbolLeg = ใหม่ PointF(335,20);
PointF descLeg = PointF ใหม่ (360,16);
สำหรับ (i = 0; i < arrValueNames.Length; i++)
-
กราฟิกFillRectangle (SolidBrush ใหม่ (GetColor (i)), symbolLeg.X, symbolLeg.Y, 20,10);
กราฟิก DrawRectangle (ปากกาสีดำ, symbolLeg.X, symbolLeg.Y, 20,10);
graphics.DrawString(arrValueNames[i].ToString(),แบบอักษรใหม่ ("เนื้อหาที่มีรายละเอียดใหม่",8),Brushes.Black,descLeg);
symbolLeg.Y += 15;
descLeg.Y += 16;
-
สำหรับ (i = 0; i < arrValues.Length; i++)
-
กราฟิก FillRectangle (SolidBrush ใหม่ (GetColor (i)), (i * 35) + 15,200 - arrValues [i], 20, arrValues [i]);
กราฟิก DrawRectangle (ปากกาสีดำ, (i * 35) + 15,200 - arrValues [i], 20, arrValues [i]);
-
-
/// <สรุป>
/// วาดรูปวงกลมบนผืนผ้าใบ
/// </สรุป>
โมฆะส่วนตัว Draw_Pie ()
-
ฉัน;
// currentangle หมายถึงมุมปัจจุบัน มุมรวมหมายถึงมุมสูงสุด ค่ารวมแสดงถึงยอดขายสูงสุด
ลอย sglCurrentAngle = 0, sglTotalAngle = 0, sglTotalValues = 0;
// คำนวณยอดขายสูงสุด
สำหรับ (i = 0; i < arrValues.Length; i++)
sglTotalValues += arrValues[i];
สำหรับ (i = 0; i < arrValues.Length; i++)
-
// ค่ามุมของเดือนปัจจุบัน: ยอดขายของเดือนปัจจุบัน / ยอดขายสูงสุด * 360
sglCurrentAngle = arrValues[i] / sglTotalValues * 360;
กราฟิก FillPie (SolidBrush ใหม่ (GetColor (i)), 240,95,100,100, sglTotalAngle, sglCurrentAngle);
กราฟิก DrawPie (ปากกาสีดำ, 240,95,100,100, sglTotalAngle, sglCurrentAngle);
sglTotalAngle += sglปัจจุบันมุม;
-
-
#ฟังก์ชันตัวช่วยภูมิภาค
สีส่วนตัว GetColor (int itemIndex)
-
สีสี;
สวิตช์ (ดัชนีรายการ)
-
กรณีที่ 0:
สี = สีฟ้า;
หยุดพัก;
กรณีที่ 1:
สี = สีแดง;
หยุดพัก;
กรณีที่ 2:
สี = สีสีเหลือง;
หยุดพัก;
กรณีที่ 3:
สี = สีม่วง;
หยุดพัก;
กรณีที่ 4:
สี = สีส้ม;
หยุดพัก;
กรณีที่ 5:
สี = สีสีน้ำตาล;
หยุดพัก;
ค่าเริ่มต้น:
สี = สีฟ้า;
หยุดพัก;
-
กลับสี;
-
#ภูมิภาคสุดท้าย
-
-