+ UILedLabel:增加Led标签
This commit is contained in:
parent
61718f0464
commit
ce838e820e
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
106
SunnyUI.Demo/Controls/FLabel.Designer.cs
generated
106
SunnyUI.Demo/Controls/FLabel.Designer.cs
generated
@ -40,11 +40,21 @@
|
||||
this.uiMarkLabel2 = new Sunny.UI.UIMarkLabel();
|
||||
this.uiMarkLabel3 = new Sunny.UI.UIMarkLabel();
|
||||
this.uiMarkLabel4 = new Sunny.UI.UIMarkLabel();
|
||||
this.uiLedLabel = new Sunny.UI.UILine();
|
||||
this.uiLedLabel1 = new Sunny.UI.Controls.UILedLabel();
|
||||
this.uiLedLabel2 = new Sunny.UI.Controls.UILedLabel();
|
||||
this.uiLedLabel3 = new Sunny.UI.Controls.UILedLabel();
|
||||
this.uiLedLabel4 = new Sunny.UI.Controls.UILedLabel();
|
||||
this.PagePanel.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// PagePanel
|
||||
//
|
||||
this.PagePanel.Controls.Add(this.uiLedLabel4);
|
||||
this.PagePanel.Controls.Add(this.uiLedLabel3);
|
||||
this.PagePanel.Controls.Add(this.uiLedLabel2);
|
||||
this.PagePanel.Controls.Add(this.uiLedLabel1);
|
||||
this.PagePanel.Controls.Add(this.uiLedLabel);
|
||||
this.PagePanel.Controls.Add(this.uiMarkLabel4);
|
||||
this.PagePanel.Controls.Add(this.uiMarkLabel3);
|
||||
this.PagePanel.Controls.Add(this.uiMarkLabel2);
|
||||
@ -57,7 +67,7 @@
|
||||
this.PagePanel.Controls.Add(this.uiLine1);
|
||||
this.PagePanel.Controls.Add(this.uiLinkLabel1);
|
||||
this.PagePanel.Controls.Add(this.uiLabel1);
|
||||
this.PagePanel.Size = new System.Drawing.Size(800, 415);
|
||||
this.PagePanel.Size = new System.Drawing.Size(800, 471);
|
||||
//
|
||||
// uiLabel1
|
||||
//
|
||||
@ -78,7 +88,7 @@
|
||||
this.uiLinkLabel1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
|
||||
this.uiLinkLabel1.LinkBehavior = System.Windows.Forms.LinkBehavior.AlwaysUnderline;
|
||||
this.uiLinkLabel1.LinkColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
|
||||
this.uiLinkLabel1.Location = new System.Drawing.Point(42, 127);
|
||||
this.uiLinkLabel1.Location = new System.Drawing.Point(394, 55);
|
||||
this.uiLinkLabel1.Name = "uiLinkLabel1";
|
||||
this.uiLinkLabel1.Size = new System.Drawing.Size(146, 21);
|
||||
this.uiLinkLabel1.TabIndex = 1;
|
||||
@ -93,7 +103,7 @@
|
||||
this.uiLine1.Location = new System.Drawing.Point(30, 20);
|
||||
this.uiLine1.MinimumSize = new System.Drawing.Size(16, 16);
|
||||
this.uiLine1.Name = "uiLine1";
|
||||
this.uiLine1.Size = new System.Drawing.Size(670, 20);
|
||||
this.uiLine1.Size = new System.Drawing.Size(319, 20);
|
||||
this.uiLine1.TabIndex = 19;
|
||||
this.uiLine1.Text = "UILabel";
|
||||
this.uiLine1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
@ -101,10 +111,10 @@
|
||||
// uiLine2
|
||||
//
|
||||
this.uiLine2.Font = new System.Drawing.Font("微软雅黑", 12F);
|
||||
this.uiLine2.Location = new System.Drawing.Point(30, 92);
|
||||
this.uiLine2.Location = new System.Drawing.Point(381, 20);
|
||||
this.uiLine2.MinimumSize = new System.Drawing.Size(16, 16);
|
||||
this.uiLine2.Name = "uiLine2";
|
||||
this.uiLine2.Size = new System.Drawing.Size(670, 20);
|
||||
this.uiLine2.Size = new System.Drawing.Size(319, 20);
|
||||
this.uiLine2.TabIndex = 20;
|
||||
this.uiLine2.Text = "UILinkLabel";
|
||||
this.uiLine2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
@ -112,7 +122,7 @@
|
||||
// uiLine3
|
||||
//
|
||||
this.uiLine3.Font = new System.Drawing.Font("微软雅黑", 12F);
|
||||
this.uiLine3.Location = new System.Drawing.Point(30, 173);
|
||||
this.uiLine3.Location = new System.Drawing.Point(30, 98);
|
||||
this.uiLine3.MinimumSize = new System.Drawing.Size(16, 16);
|
||||
this.uiLine3.Name = "uiLine3";
|
||||
this.uiLine3.Size = new System.Drawing.Size(670, 20);
|
||||
@ -123,7 +133,7 @@
|
||||
// uiSymbolLabel1
|
||||
//
|
||||
this.uiSymbolLabel1.Font = new System.Drawing.Font("微软雅黑", 12F);
|
||||
this.uiSymbolLabel1.Location = new System.Drawing.Point(42, 209);
|
||||
this.uiSymbolLabel1.Location = new System.Drawing.Point(42, 134);
|
||||
this.uiSymbolLabel1.MinimumSize = new System.Drawing.Size(1, 1);
|
||||
this.uiSymbolLabel1.Name = "uiSymbolLabel1";
|
||||
this.uiSymbolLabel1.Padding = new System.Windows.Forms.Padding(28, 0, 0, 0);
|
||||
@ -135,7 +145,7 @@
|
||||
// uiSymbolLabel2
|
||||
//
|
||||
this.uiSymbolLabel2.Font = new System.Drawing.Font("微软雅黑", 12F);
|
||||
this.uiSymbolLabel2.Location = new System.Drawing.Point(139, 209);
|
||||
this.uiSymbolLabel2.Location = new System.Drawing.Point(139, 134);
|
||||
this.uiSymbolLabel2.MinimumSize = new System.Drawing.Size(1, 1);
|
||||
this.uiSymbolLabel2.Name = "uiSymbolLabel2";
|
||||
this.uiSymbolLabel2.Padding = new System.Windows.Forms.Padding(28, 0, 0, 0);
|
||||
@ -149,7 +159,7 @@
|
||||
//
|
||||
this.uiMarkLabel1.AutoSize = true;
|
||||
this.uiMarkLabel1.Font = new System.Drawing.Font("微软雅黑", 12F);
|
||||
this.uiMarkLabel1.Location = new System.Drawing.Point(42, 285);
|
||||
this.uiMarkLabel1.Location = new System.Drawing.Point(42, 210);
|
||||
this.uiMarkLabel1.Name = "uiMarkLabel1";
|
||||
this.uiMarkLabel1.Padding = new System.Windows.Forms.Padding(5, 0, 0, 0);
|
||||
this.uiMarkLabel1.Size = new System.Drawing.Size(118, 21);
|
||||
@ -160,7 +170,7 @@
|
||||
// uiLine4
|
||||
//
|
||||
this.uiLine4.Font = new System.Drawing.Font("微软雅黑", 12F);
|
||||
this.uiLine4.Location = new System.Drawing.Point(30, 248);
|
||||
this.uiLine4.Location = new System.Drawing.Point(30, 173);
|
||||
this.uiLine4.MinimumSize = new System.Drawing.Size(16, 16);
|
||||
this.uiLine4.Name = "uiLine4";
|
||||
this.uiLine4.Size = new System.Drawing.Size(670, 20);
|
||||
@ -172,7 +182,7 @@
|
||||
//
|
||||
this.uiMarkLabel2.AutoSize = true;
|
||||
this.uiMarkLabel2.Font = new System.Drawing.Font("微软雅黑", 12F);
|
||||
this.uiMarkLabel2.Location = new System.Drawing.Point(42, 326);
|
||||
this.uiMarkLabel2.Location = new System.Drawing.Point(356, 207);
|
||||
this.uiMarkLabel2.MarkPos = Sunny.UI.UIMarkLabel.UIMarkPos.Bottom;
|
||||
this.uiMarkLabel2.Name = "uiMarkLabel2";
|
||||
this.uiMarkLabel2.Padding = new System.Windows.Forms.Padding(0, 0, 0, 5);
|
||||
@ -185,7 +195,7 @@
|
||||
//
|
||||
this.uiMarkLabel3.AutoSize = true;
|
||||
this.uiMarkLabel3.Font = new System.Drawing.Font("微软雅黑", 12F);
|
||||
this.uiMarkLabel3.Location = new System.Drawing.Point(185, 285);
|
||||
this.uiMarkLabel3.Location = new System.Drawing.Point(199, 210);
|
||||
this.uiMarkLabel3.MarkPos = Sunny.UI.UIMarkLabel.UIMarkPos.Right;
|
||||
this.uiMarkLabel3.Name = "uiMarkLabel3";
|
||||
this.uiMarkLabel3.Padding = new System.Windows.Forms.Padding(0, 0, 5, 0);
|
||||
@ -198,7 +208,7 @@
|
||||
//
|
||||
this.uiMarkLabel4.AutoSize = true;
|
||||
this.uiMarkLabel4.Font = new System.Drawing.Font("微软雅黑", 12F);
|
||||
this.uiMarkLabel4.Location = new System.Drawing.Point(190, 326);
|
||||
this.uiMarkLabel4.Location = new System.Drawing.Point(508, 207);
|
||||
this.uiMarkLabel4.MarkPos = Sunny.UI.UIMarkLabel.UIMarkPos.Top;
|
||||
this.uiMarkLabel4.Name = "uiMarkLabel4";
|
||||
this.uiMarkLabel4.Padding = new System.Windows.Forms.Padding(0, 5, 0, 0);
|
||||
@ -207,10 +217,73 @@
|
||||
this.uiMarkLabel4.Text = "uiMarkLabel4";
|
||||
this.uiMarkLabel4.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// uiLedLabel
|
||||
//
|
||||
this.uiLedLabel.Font = new System.Drawing.Font("微软雅黑", 12F);
|
||||
this.uiLedLabel.Location = new System.Drawing.Point(30, 252);
|
||||
this.uiLedLabel.MinimumSize = new System.Drawing.Size(16, 16);
|
||||
this.uiLedLabel.Name = "uiLedLabel";
|
||||
this.uiLedLabel.Size = new System.Drawing.Size(670, 20);
|
||||
this.uiLedLabel.TabIndex = 29;
|
||||
this.uiLedLabel.Text = "UILedLabel";
|
||||
this.uiLedLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// uiLedLabel1
|
||||
//
|
||||
this.uiLedLabel1.Font = new System.Drawing.Font("微软雅黑", 12F);
|
||||
this.uiLedLabel1.Location = new System.Drawing.Point(42, 288);
|
||||
this.uiLedLabel1.MinimumSize = new System.Drawing.Size(1, 1);
|
||||
this.uiLedLabel1.Name = "uiLedLabel1";
|
||||
this.uiLedLabel1.Size = new System.Drawing.Size(150, 35);
|
||||
this.uiLedLabel1.TabIndex = 30;
|
||||
this.uiLedLabel1.Text = "999.99";
|
||||
this.uiLedLabel1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// uiLedLabel2
|
||||
//
|
||||
this.uiLedLabel2.Font = new System.Drawing.Font("微软雅黑", 12F);
|
||||
this.uiLedLabel2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||
this.uiLedLabel2.Location = new System.Drawing.Point(199, 288);
|
||||
this.uiLedLabel2.MinimumSize = new System.Drawing.Size(1, 1);
|
||||
this.uiLedLabel2.Name = "uiLedLabel2";
|
||||
this.uiLedLabel2.Size = new System.Drawing.Size(150, 35);
|
||||
this.uiLedLabel2.Style = Sunny.UI.UIStyle.Red;
|
||||
this.uiLedLabel2.StyleCustomMode = true;
|
||||
this.uiLedLabel2.TabIndex = 31;
|
||||
this.uiLedLabel2.Text = "999.99";
|
||||
this.uiLedLabel2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// uiLedLabel3
|
||||
//
|
||||
this.uiLedLabel3.Font = new System.Drawing.Font("微软雅黑", 12F);
|
||||
this.uiLedLabel3.IntervalOn = 3;
|
||||
this.uiLedLabel3.Location = new System.Drawing.Point(356, 288);
|
||||
this.uiLedLabel3.MinimumSize = new System.Drawing.Size(1, 1);
|
||||
this.uiLedLabel3.Name = "uiLedLabel3";
|
||||
this.uiLedLabel3.Size = new System.Drawing.Size(150, 35);
|
||||
this.uiLedLabel3.TabIndex = 32;
|
||||
this.uiLedLabel3.Text = "999.99";
|
||||
this.uiLedLabel3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// uiLedLabel4
|
||||
//
|
||||
this.uiLedLabel4.BackColor = System.Drawing.Color.Black;
|
||||
this.uiLedLabel4.Font = new System.Drawing.Font("微软雅黑", 12F);
|
||||
this.uiLedLabel4.ForeColor = System.Drawing.Color.Lime;
|
||||
this.uiLedLabel4.IntervalOn = 3;
|
||||
this.uiLedLabel4.Location = new System.Drawing.Point(527, 288);
|
||||
this.uiLedLabel4.MinimumSize = new System.Drawing.Size(1, 1);
|
||||
this.uiLedLabel4.Name = "uiLedLabel4";
|
||||
this.uiLedLabel4.Size = new System.Drawing.Size(181, 35);
|
||||
this.uiLedLabel4.Style = Sunny.UI.UIStyle.Custom;
|
||||
this.uiLedLabel4.StyleCustomMode = true;
|
||||
this.uiLedLabel4.TabIndex = 33;
|
||||
this.uiLedLabel4.Text = "999.99";
|
||||
//
|
||||
// FLabel
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.ClientSize = new System.Drawing.Size(800, 450);
|
||||
this.ClientSize = new System.Drawing.Size(800, 506);
|
||||
this.Name = "FLabel";
|
||||
this.StyleCustomMode = true;
|
||||
this.Symbol = 61490;
|
||||
@ -235,5 +308,10 @@
|
||||
private UIMarkLabel uiMarkLabel4;
|
||||
private UIMarkLabel uiMarkLabel3;
|
||||
private UIMarkLabel uiMarkLabel2;
|
||||
private UI.Controls.UILedLabel uiLedLabel1;
|
||||
private UILine uiLedLabel;
|
||||
private UI.Controls.UILedLabel uiLedLabel3;
|
||||
private UI.Controls.UILedLabel uiLedLabel2;
|
||||
private UI.Controls.UILedLabel uiLedLabel4;
|
||||
}
|
||||
}
|
13
SunnyUI.Demo/Controls/FMeter.Designer.cs
generated
13
SunnyUI.Demo/Controls/FMeter.Designer.cs
generated
@ -68,12 +68,14 @@
|
||||
this.PagePanel.Controls.Add(this.uiLine1);
|
||||
this.PagePanel.Controls.Add(this.uiLedStopwatch1);
|
||||
this.PagePanel.Controls.Add(this.uiLedDisplay1);
|
||||
this.PagePanel.Size = new System.Drawing.Size(800, 415);
|
||||
//
|
||||
// uiAnalogMeter1
|
||||
//
|
||||
this.uiAnalogMeter1.Font = new System.Drawing.Font("微软雅黑", 12F);
|
||||
this.uiAnalogMeter1.Location = new System.Drawing.Point(381, 146);
|
||||
this.uiAnalogMeter1.MaxValue = 100D;
|
||||
this.uiAnalogMeter1.MinimumSize = new System.Drawing.Size(1, 1);
|
||||
this.uiAnalogMeter1.MinValue = 0D;
|
||||
this.uiAnalogMeter1.Name = "uiAnalogMeter1";
|
||||
this.uiAnalogMeter1.Renderer = null;
|
||||
@ -135,7 +137,7 @@
|
||||
this.uiLedStopwatch1.Name = "uiLedStopwatch1";
|
||||
this.uiLedStopwatch1.Size = new System.Drawing.Size(190, 34);
|
||||
this.uiLedStopwatch1.TabIndex = 45;
|
||||
this.uiLedStopwatch1.Text = "00:06";
|
||||
this.uiLedStopwatch1.Text = "00:03";
|
||||
//
|
||||
// uiLedDisplay1
|
||||
//
|
||||
@ -160,6 +162,7 @@
|
||||
this.uiRoundMeter2.Font = new System.Drawing.Font("微软雅黑", 12F);
|
||||
this.uiRoundMeter2.Location = new System.Drawing.Point(186, 141);
|
||||
this.uiRoundMeter2.MeterType = Sunny.UI.UIRoundMeter.TMeterType.Wind;
|
||||
this.uiRoundMeter2.MinimumSize = new System.Drawing.Size(1, 1);
|
||||
this.uiRoundMeter2.Name = "uiRoundMeter2";
|
||||
this.uiRoundMeter2.Size = new System.Drawing.Size(140, 140);
|
||||
this.uiRoundMeter2.TabIndex = 49;
|
||||
@ -173,6 +176,7 @@
|
||||
this.uiRoundMeter1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
|
||||
this.uiRoundMeter1.Font = new System.Drawing.Font("微软雅黑", 12F);
|
||||
this.uiRoundMeter1.Location = new System.Drawing.Point(30, 136);
|
||||
this.uiRoundMeter1.MinimumSize = new System.Drawing.Size(1, 1);
|
||||
this.uiRoundMeter1.Name = "uiRoundMeter1";
|
||||
this.uiRoundMeter1.Size = new System.Drawing.Size(150, 150);
|
||||
this.uiRoundMeter1.TabIndex = 47;
|
||||
@ -193,6 +197,7 @@
|
||||
//
|
||||
this.uiBattery1.Font = new System.Drawing.Font("微软雅黑", 12F);
|
||||
this.uiBattery1.Location = new System.Drawing.Point(30, 328);
|
||||
this.uiBattery1.MinimumSize = new System.Drawing.Size(1, 1);
|
||||
this.uiBattery1.Name = "uiBattery1";
|
||||
this.uiBattery1.Size = new System.Drawing.Size(48, 24);
|
||||
this.uiBattery1.TabIndex = 54;
|
||||
@ -202,6 +207,7 @@
|
||||
//
|
||||
this.uiBattery2.Font = new System.Drawing.Font("微软雅黑", 12F);
|
||||
this.uiBattery2.Location = new System.Drawing.Point(84, 328);
|
||||
this.uiBattery2.MinimumSize = new System.Drawing.Size(1, 1);
|
||||
this.uiBattery2.Name = "uiBattery2";
|
||||
this.uiBattery2.Power = 1;
|
||||
this.uiBattery2.Size = new System.Drawing.Size(48, 24);
|
||||
@ -212,6 +218,7 @@
|
||||
//
|
||||
this.uiBattery3.Font = new System.Drawing.Font("微软雅黑", 12F);
|
||||
this.uiBattery3.Location = new System.Drawing.Point(138, 328);
|
||||
this.uiBattery3.MinimumSize = new System.Drawing.Size(1, 1);
|
||||
this.uiBattery3.Name = "uiBattery3";
|
||||
this.uiBattery3.Power = 25;
|
||||
this.uiBattery3.Size = new System.Drawing.Size(48, 24);
|
||||
@ -222,6 +229,7 @@
|
||||
//
|
||||
this.uiBattery4.Font = new System.Drawing.Font("微软雅黑", 12F);
|
||||
this.uiBattery4.Location = new System.Drawing.Point(192, 328);
|
||||
this.uiBattery4.MinimumSize = new System.Drawing.Size(1, 1);
|
||||
this.uiBattery4.Name = "uiBattery4";
|
||||
this.uiBattery4.Power = 50;
|
||||
this.uiBattery4.Size = new System.Drawing.Size(48, 24);
|
||||
@ -232,6 +240,7 @@
|
||||
//
|
||||
this.uiBattery5.Font = new System.Drawing.Font("微软雅黑", 12F);
|
||||
this.uiBattery5.Location = new System.Drawing.Point(246, 328);
|
||||
this.uiBattery5.MinimumSize = new System.Drawing.Size(1, 1);
|
||||
this.uiBattery5.Name = "uiBattery5";
|
||||
this.uiBattery5.Power = 75;
|
||||
this.uiBattery5.Size = new System.Drawing.Size(48, 24);
|
||||
@ -242,6 +251,7 @@
|
||||
//
|
||||
this.uiBattery6.Font = new System.Drawing.Font("微软雅黑", 12F);
|
||||
this.uiBattery6.Location = new System.Drawing.Point(301, 328);
|
||||
this.uiBattery6.MinimumSize = new System.Drawing.Size(1, 1);
|
||||
this.uiBattery6.Name = "uiBattery6";
|
||||
this.uiBattery6.Size = new System.Drawing.Size(48, 24);
|
||||
this.uiBattery6.TabIndex = 59;
|
||||
@ -249,7 +259,6 @@
|
||||
//
|
||||
// FMeter
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 21F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.ClientSize = new System.Drawing.Size(800, 450);
|
||||
this.Name = "FMeter";
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -21,7 +21,6 @@
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
@ -325,7 +324,7 @@ namespace Sunny.UI
|
||||
{
|
||||
int charStart = BorderWidth + BorderInWidth + IntervalH + IntervalOn + IntervalIn +
|
||||
(IntervalOn + IntervalIn) * 6 * idx;
|
||||
byte[] bts = DotMasks.ContainsKey(c) ? DotMasks[c] : DotMasks[' '];
|
||||
byte[] bts = UILedChars.Chars.ContainsKey(c) ? UILedChars.Chars[c] : UILedChars.Chars[' '];
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
byte bt = bts[i];
|
||||
@ -361,145 +360,6 @@ namespace Sunny.UI
|
||||
Invalidate();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 增加LED字符
|
||||
/// </summary>
|
||||
/// <param name="key">字符</param>
|
||||
/// <param name="bytes">显示</param>
|
||||
public void Add(char key, byte[] bytes)
|
||||
{
|
||||
if (!DotMasks.ContainsKey(key))
|
||||
{
|
||||
DotMasks.Add(key, bytes);
|
||||
}
|
||||
}
|
||||
|
||||
private readonly Dictionary<char, byte[]> DotMasks = new Dictionary<char, byte[]>
|
||||
{
|
||||
[' '] = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00 },
|
||||
['!'] = new byte[] { 0x00, 0x00, 0xFA, 0x00, 0x00 },
|
||||
['\"'] = new byte[] { 0x00, 0xC0, 0x00, 0xC0, 0x00 },
|
||||
['#'] = new byte[] { 0x28, 0x7C, 0x28, 0x7C, 0x28 },
|
||||
['$'] = new byte[] { 0x24, 0x54, 0xFE, 0x54, 0x48 },
|
||||
['%'] = new byte[] { 0x64, 0x68, 0x10, 0x2C, 0x4C },
|
||||
['&'] = new byte[] { 0x6C, 0x92, 0xAA, 0x44, 0x0A },
|
||||
['\''] = new byte[] { 0x00, 0x20, 0xC0, 0x00, 0x00 },
|
||||
['('] = new byte[] { 0x00, 0x00, 0x7C, 0x82, 0x00 },
|
||||
[')'] = new byte[] { 0x00, 0x82, 0x7C, 0x00, 0x00 },
|
||||
['*'] = new byte[] { 0x54, 0x38, 0xFE, 0x38, 0x54 },
|
||||
['+'] = new byte[] { 0x10, 0x10, 0x7C, 0x10, 0x10 },
|
||||
[','] = new byte[] { 0x00, 0x02, 0x04, 0x00, 0x00 },
|
||||
['-'] = new byte[] { 0x10, 0x10, 0x10, 0x10, 0x10 },
|
||||
['.'] = new byte[] { 0x00, 0x00, 0x02, 0x00, 0x00 },
|
||||
['/'] = new byte[] { 0x04, 0x08, 0x10, 0x20, 0x40 },
|
||||
['0'] = new byte[] { 0x7C, 0x8A, 0x92, 0xA2, 0x7C },
|
||||
['1'] = new byte[] { 0x00, 0x42, 0xFE, 0x02, 0x00 },
|
||||
['2'] = new byte[] { 0x46, 0x8A, 0x92, 0x92, 0x62 },
|
||||
['3'] = new byte[] { 0x44, 0x92, 0x92, 0x92, 0x6C },
|
||||
['4'] = new byte[] { 0xF0, 0x10, 0x10, 0x10, 0xFE },
|
||||
['5'] = new byte[] { 0xF4, 0x92, 0x92, 0x92, 0x8C },
|
||||
['6'] = new byte[] { 0x7C, 0x92, 0x92, 0x92, 0x4C },
|
||||
['7'] = new byte[] { 0xC0, 0x80, 0x8E, 0x90, 0xE0 },
|
||||
['8'] = new byte[] { 0x6C, 0x92, 0x92, 0x92, 0x6C },
|
||||
['9'] = new byte[] { 0x64, 0x92, 0x92, 0x92, 0x7C },
|
||||
[':'] = new byte[] { 0x00, 0x00, 0x24, 0x00, 0x00 },
|
||||
[';'] = new byte[] { 0x00, 0x02, 0x24, 0x00, 0x00 },
|
||||
['<'] = new byte[] { 0x10, 0x28, 0x44, 0x82, 0x00 },
|
||||
['='] = new byte[] { 0x28, 0x28, 0x28, 0x28, 0x28 },
|
||||
['>'] = new byte[] { 0x00, 0x82, 0x44, 0x28, 0x10 },
|
||||
['?'] = new byte[] { 0x40, 0x80, 0x9A, 0x90, 0x60 },
|
||||
['@'] = new byte[] { 0x7C, 0x92, 0xAA, 0xBA, 0x70 },
|
||||
['A'] = new byte[] { 0x7E, 0x90, 0x90, 0x90, 0x7E },
|
||||
['B'] = new byte[] { 0xFE, 0x92, 0x92, 0x92, 0x6C },
|
||||
['C'] = new byte[] { 0x7C, 0x82, 0x82, 0x82, 0x44 },
|
||||
['D'] = new byte[] { 0xFE, 0x82, 0x82, 0x82, 0x7C },
|
||||
['E'] = new byte[] { 0xFE, 0x92, 0x92, 0x92, 0x82 },
|
||||
['F'] = new byte[] { 0xFE, 0x90, 0x90, 0x90, 0x80 },
|
||||
['G'] = new byte[] { 0x7C, 0x82, 0x92, 0x92, 0x5C },
|
||||
['H'] = new byte[] { 0xFE, 0x10, 0x10, 0x10, 0xFE },
|
||||
['I'] = new byte[] { 0x82, 0x82, 0xFE, 0x82, 0x82 },
|
||||
['J'] = new byte[] { 0x04, 0x02, 0x02, 0x02, 0xFC },
|
||||
['K'] = new byte[] { 0xFE, 0x10, 0x28, 0x44, 0x82 },
|
||||
['L'] = new byte[] { 0xFE, 0x02, 0x02, 0x02, 0x02 },
|
||||
['M'] = new byte[] { 0xFE, 0x40, 0x20, 0x40, 0xFE },
|
||||
['N'] = new byte[] { 0xFE, 0x20, 0x10, 0x08, 0xFE },
|
||||
['O'] = new byte[] { 0x7C, 0x82, 0x82, 0x82, 0x7C },
|
||||
['P'] = new byte[] { 0xFE, 0x90, 0x90, 0x90, 0x60 },
|
||||
['Q'] = new byte[] { 0x7C, 0x82, 0x82, 0x86, 0x7E },
|
||||
['R'] = new byte[] { 0xFE, 0x90, 0x90, 0x90, 0x6E },
|
||||
['S'] = new byte[] { 0x64, 0x92, 0x92, 0x92, 0x4C },
|
||||
['T'] = new byte[] { 0x80, 0x80, 0xFE, 0x80, 0x80 },
|
||||
['U'] = new byte[] { 0xFC, 0x02, 0x02, 0x02, 0xFC },
|
||||
['V'] = new byte[] { 0xE0, 0x18, 0x06, 0x18, 0xE0 },
|
||||
['W'] = new byte[] { 0xFC, 0x02, 0x0C, 0x02, 0xFC },
|
||||
['X'] = new byte[] { 0xC6, 0x28, 0x10, 0x28, 0xC6 },
|
||||
['Y'] = new byte[] { 0xC0, 0x20, 0x1E, 0x20, 0xC0 },
|
||||
['Z'] = new byte[] { 0x86, 0x8A, 0x92, 0xA2, 0xC2 },
|
||||
['['] = new byte[] { 0x00, 0xFE, 0x82, 0x82, 0x00 },
|
||||
['\\'] = new byte[] { 0x40, 0x20, 0x10, 0x08, 0x04 },
|
||||
[']'] = new byte[] { 0x00, 0x82, 0x82, 0xFE, 0x00 },
|
||||
['^'] = new byte[] { 0x20, 0x40, 0x80, 0x40, 0x20 },
|
||||
['_'] = new byte[] { 0x02, 0x02, 0x02, 0x02, 0x02 },
|
||||
['`'] = new byte[] { 0x00, 0x00, 0xC0, 0x20, 0x00 },
|
||||
['°'] = new byte[] { 0x00, 0x00, 0x40, 0xA0, 0x40 },
|
||||
['a'] = new byte[] { 0x04, 0x2A, 0x2A, 0x2A, 0x1E },
|
||||
['b'] = new byte[] { 0xFE, 0x22, 0x22, 0x22, 0x1C },
|
||||
['c'] = new byte[] { 0x1C, 0x22, 0x22, 0x22, 0x14 },
|
||||
['d'] = new byte[] { 0x1C, 0x22, 0x22, 0x22, 0xFE },
|
||||
['e'] = new byte[] { 0x1C, 0x2A, 0x2A, 0x2A, 0x18 },
|
||||
['f'] = new byte[] { 0x10, 0x7E, 0x90, 0x90, 0x40 },
|
||||
['g'] = new byte[] { 0x10, 0x2A, 0x2A, 0x2A, 0x1C },
|
||||
['h'] = new byte[] { 0xFE, 0x20, 0x20, 0x20, 0x1E },
|
||||
['i'] = new byte[] { 0x00, 0x22, 0xBE, 0x02, 0x00 },
|
||||
['j'] = new byte[] { 0x00, 0x02, 0xBC, 0x00, 0x00 },
|
||||
['k'] = new byte[] { 0xFE, 0x08, 0x08, 0x14, 0x22 },
|
||||
['l'] = new byte[] { 0x00, 0x82, 0xFE, 0x02, 0x00 },
|
||||
['m'] = new byte[] { 0x3E, 0x20, 0x3E, 0x20, 0x1E },
|
||||
['n'] = new byte[] { 0x3E, 0x20, 0x20, 0x20, 0x1E },
|
||||
['o'] = new byte[] { 0x1C, 0x22, 0x22, 0x22, 0x1C },
|
||||
['p'] = new byte[] { 0x3E, 0x28, 0x28, 0x28, 0x10 },
|
||||
['q'] = new byte[] { 0x10, 0x28, 0x28, 0x28, 0x3E },
|
||||
['r'] = new byte[] { 0x3E, 0x20, 0x20, 0x20, 0x10 },
|
||||
['s'] = new byte[] { 0x12, 0x2A, 0x2A, 0x2A, 0x24 },
|
||||
['t'] = new byte[] { 0x20, 0xFC, 0x22, 0x22, 0x00 },
|
||||
['u'] = new byte[] { 0x3C, 0x02, 0x02, 0x02, 0x3E },
|
||||
['v'] = new byte[] { 0x38, 0x04, 0x02, 0x04, 0x38 },
|
||||
['w'] = new byte[] { 0x3C, 0x02, 0x0C, 0x02, 0x3C },
|
||||
['x'] = new byte[] { 0x22, 0x14, 0x08, 0x14, 0x22 },
|
||||
['y'] = new byte[] { 0x22, 0x14, 0x08, 0x10, 0x20 },
|
||||
['z'] = new byte[] { 0x22, 0x26, 0x2A, 0x32, 0x22 },
|
||||
['{'] = new byte[] { 0x00, 0x10, 0x6C, 0x82, 0x00 },
|
||||
['|'] = new byte[] { 0x00, 0x00, 0xFE, 0x00, 0x00 },
|
||||
['}'] = new byte[] { 0x00, 0x82, 0x6C, 0x10, 0x00 },
|
||||
['~'] = new byte[] { 0x40, 0x80, 0x40, 0x20, 0x40 },
|
||||
['Κ'] = new byte[] { 0xFE, 0x10, 0x28, 0x44, 0x82 },
|
||||
['Χ'] = new byte[] { 0xC6, 0x28, 0x10, 0x28, 0xC6 },
|
||||
['Υ'] = new byte[] { 0xC0, 0x20, 0x1E, 0x20, 0xC0 },
|
||||
['Μ'] = new byte[] { 0xFE, 0x40, 0x20, 0x40, 0xFE },
|
||||
['Γ'] = new byte[] { 0xFE, 0x80, 0x80, 0x80, 0x80 },
|
||||
['Ν'] = new byte[] { 0xFE, 0x20, 0x10, 0x08, 0xFE },
|
||||
['Ξ'] = new byte[] { 0x82, 0x92, 0x92, 0x92, 0x82 },
|
||||
['Ο'] = new byte[] { 0x7C, 0x82, 0x82, 0x82, 0x7C },
|
||||
['Θ'] = new byte[] { 0x7C, 0x92, 0x92, 0x92, 0x7C },
|
||||
['Π'] = new byte[] { 0xFE, 0x80, 0x80, 0x80, 0xFE },
|
||||
['Ρ'] = new byte[] { 0xFE, 0x90, 0x90, 0x90, 0x60 },
|
||||
['Ω'] = new byte[] { 0x7A, 0x8E, 0x80, 0x8E, 0x7A },
|
||||
['Ψ'] = new byte[] { 0xF0, 0x08, 0xFE, 0x08, 0xF0 },
|
||||
['Ι'] = new byte[] { 0x82, 0x82, 0xFE, 0x82, 0x82 },
|
||||
['∞'] = new byte[] { 0x38, 0x44, 0x38, 0x44, 0x38 },
|
||||
['Α'] = new byte[] { 0x7E, 0x90, 0x90, 0x90, 0x7E },
|
||||
['Δ'] = new byte[] { 0x0E, 0x32, 0xC2, 0x32, 0x0E },
|
||||
['Λ'] = new byte[] { 0x0E, 0x30, 0xC0, 0x30, 0x0E },
|
||||
['Ε'] = new byte[] { 0xFE, 0x92, 0x92, 0x92, 0x82 },
|
||||
['Η'] = new byte[] { 0xFE, 0x10, 0x10, 0x10, 0xFE },
|
||||
['Φ'] = new byte[] { 0x38, 0x44, 0xFE, 0x44, 0x38 },
|
||||
['Β'] = new byte[] { 0xFE, 0x92, 0x92, 0x92, 0x6C },
|
||||
['Τ'] = new byte[] { 0x80, 0x80, 0xFE, 0x80, 0x80 },
|
||||
['Ζ'] = new byte[] { 0x86, 0x8A, 0x92, 0xA2, 0xC2 },
|
||||
['Σ'] = new byte[] { 0xC6, 0xAA, 0x92, 0x82, 0x82 },
|
||||
[':'] = new byte[] { 0x00, 0x00, 0x24, 0x00, 0x00 },
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// 禁用该属性
|
||||
/// </summary>
|
||||
|
186
SunnyUI/Controls/UILedLabel.cs
Normal file
186
SunnyUI/Controls/UILedLabel.cs
Normal file
@ -0,0 +1,186 @@
|
||||
/******************************************************************************
|
||||
* SunnyUI 开源控件库、工具类库、扩展类库、多页面开发框架。
|
||||
* CopyRight (C) 2012-2021 ShenYongHua(沈永华).
|
||||
* QQ群:56829229 QQ:17612584 EMail:SunnyUI@QQ.Com
|
||||
*
|
||||
* Blog: https://www.cnblogs.com/yhuse
|
||||
* Gitee: https://gitee.com/yhuse/SunnyUI
|
||||
* GitHub: https://github.com/yhuse/SunnyUI
|
||||
*
|
||||
* SunnyUI.dll can be used for free under the GPL-3.0 license.
|
||||
* If you use this code, please keep this note.
|
||||
* 如果您使用此代码,请保留此说明。
|
||||
******************************************************************************
|
||||
* 文件名称: UILedLabel.cs
|
||||
* 文件说明: LED标签
|
||||
* 当前版本: V3.0
|
||||
* 创建日期: 2021-04-11
|
||||
*
|
||||
* 2021-04-11: V3.0.2 增加文件说明
|
||||
******************************************************************************/
|
||||
|
||||
using System.Collections;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Sunny.UI.Controls
|
||||
{
|
||||
[ToolboxItem(true)]
|
||||
[DefaultEvent("ValueChanged")]
|
||||
[DefaultProperty("Value")]
|
||||
public class UILedLabel : UIControl
|
||||
{
|
||||
public UILedLabel()
|
||||
{
|
||||
ShowText = ShowRect = ShowFill = false;
|
||||
foreColor = UIColor.Blue;
|
||||
}
|
||||
|
||||
protected override void OnPaint(PaintEventArgs e)
|
||||
{
|
||||
base.OnPaint(e);
|
||||
|
||||
int width = CharCount * IntervalOn * 5 +
|
||||
CharCount * IntervalIn * 4 + (CharCount + 1) * IntervalOn + CharCount * 2;// * IntervalIn;
|
||||
int height = IntervalOn * 7 + IntervalIn * 6;
|
||||
|
||||
float left = 0;
|
||||
float top = 0;
|
||||
switch (TextAlign)
|
||||
{
|
||||
case ContentAlignment.TopLeft:
|
||||
left = 0;
|
||||
top = 0;
|
||||
break;
|
||||
|
||||
case ContentAlignment.TopCenter:
|
||||
left = (Width - width) / 2.0f;
|
||||
top = 0;
|
||||
break;
|
||||
|
||||
case ContentAlignment.TopRight:
|
||||
left = Width - width;
|
||||
top = 0;
|
||||
break;
|
||||
|
||||
case ContentAlignment.MiddleLeft:
|
||||
left = 0;
|
||||
top = (Height - height) / 2.0f;
|
||||
break;
|
||||
|
||||
case ContentAlignment.MiddleCenter:
|
||||
left = (Width - width) / 2.0f;
|
||||
top = (Height - height) / 2.0f;
|
||||
break;
|
||||
|
||||
case ContentAlignment.MiddleRight:
|
||||
left = Width - width;
|
||||
top = (Height - height) / 2.0f;
|
||||
break;
|
||||
|
||||
case ContentAlignment.BottomLeft:
|
||||
left = 0;
|
||||
top = Height - height;
|
||||
break;
|
||||
|
||||
case ContentAlignment.BottomCenter:
|
||||
left = (Width - width) / 2.0f;
|
||||
top = Height - height;
|
||||
break;
|
||||
|
||||
case ContentAlignment.BottomRight:
|
||||
left = Width - width;
|
||||
top = Height - height;
|
||||
break;
|
||||
}
|
||||
|
||||
int idx = 0;
|
||||
foreach (char c in Text)
|
||||
{
|
||||
float charStart = left + (IntervalOn + IntervalIn) * 6 * idx;
|
||||
byte[] bts = UILedChars.Chars.ContainsKey(c) ? UILedChars.Chars[c] : UILedChars.Chars[' '];
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
byte bt = bts[i];
|
||||
float btStart = charStart + (IntervalOn + IntervalIn) * i;
|
||||
BitArray array = new BitArray(new[] { bt });
|
||||
for (int j = 0; j < 7; j++)
|
||||
{
|
||||
bool bon = array[7 - j];
|
||||
if (bon)
|
||||
{
|
||||
e.Graphics.FillRectangle(
|
||||
ForeColor,
|
||||
btStart,
|
||||
top + (IntervalOn + IntervalIn) * j,
|
||||
IntervalOn,
|
||||
IntervalOn);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
idx++;
|
||||
}
|
||||
}
|
||||
|
||||
private int intervalIn = 1;
|
||||
private int intervalOn = 2;
|
||||
|
||||
private int CharCount => Text.Length;
|
||||
|
||||
/// <summary>
|
||||
/// LED亮块间距
|
||||
/// </summary>
|
||||
[DefaultValue(1), Description("LED亮块间距"), Category("SunnyUI")]
|
||||
public int IntervalIn
|
||||
{
|
||||
get => intervalIn;
|
||||
set
|
||||
{
|
||||
if (intervalIn != value)
|
||||
{
|
||||
intervalIn = value;
|
||||
Invalidate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// LED亮块大小
|
||||
/// </summary>
|
||||
[DefaultValue(2), Description("LED亮块大小"), Category("SunnyUI")]
|
||||
public int IntervalOn
|
||||
{
|
||||
get => intervalOn;
|
||||
set
|
||||
{
|
||||
if (intervalOn != value)
|
||||
{
|
||||
intervalOn = value;
|
||||
Invalidate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 字体颜色
|
||||
/// </summary>
|
||||
[Description("字体颜色")]
|
||||
[Category("SunnyUI")]
|
||||
[DefaultValue(typeof(Color), "80, 160, 255")]
|
||||
public override Color ForeColor
|
||||
{
|
||||
get => foreColor;
|
||||
set => SetForeColor(value);
|
||||
}
|
||||
|
||||
public override void SetStyleColor(UIBaseStyle uiColor)
|
||||
{
|
||||
base.SetStyleColor(uiColor);
|
||||
if (uiColor.IsCustom()) return;
|
||||
foreColor = uiColor.RectColor;
|
||||
Invalidate();
|
||||
}
|
||||
}
|
||||
}
|
@ -160,8 +160,8 @@ namespace Sunny.UI
|
||||
base.SetStyleColor(uiColor);
|
||||
if (uiColor.IsCustom()) return;
|
||||
|
||||
fillColor = uiColor.PrimaryColor;
|
||||
foreColor = uiColor.PrimaryColor;
|
||||
fillColor = uiColor.RectColor;
|
||||
foreColor = uiColor.RectColor;
|
||||
rectColor = uiColor.GridSelectedColor;
|
||||
Invalidate();
|
||||
}
|
||||
|
146
SunnyUI/Static/ULedChars.cs
Normal file
146
SunnyUI/Static/ULedChars.cs
Normal file
@ -0,0 +1,146 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Sunny.UI
|
||||
{
|
||||
internal class UILedChars
|
||||
{
|
||||
public static readonly Dictionary<char, byte[]> Chars = new Dictionary<char, byte[]>
|
||||
{
|
||||
[' '] = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00 },
|
||||
['!'] = new byte[] { 0x00, 0x00, 0xFA, 0x00, 0x00 },
|
||||
['\"'] = new byte[] { 0x00, 0xC0, 0x00, 0xC0, 0x00 },
|
||||
['#'] = new byte[] { 0x28, 0x7C, 0x28, 0x7C, 0x28 },
|
||||
['$'] = new byte[] { 0x24, 0x54, 0xFE, 0x54, 0x48 },
|
||||
['%'] = new byte[] { 0x64, 0x68, 0x10, 0x2C, 0x4C },
|
||||
['&'] = new byte[] { 0x6C, 0x92, 0xAA, 0x44, 0x0A },
|
||||
['\''] = new byte[] { 0x00, 0x20, 0xC0, 0x00, 0x00 },
|
||||
['('] = new byte[] { 0x00, 0x00, 0x7C, 0x82, 0x00 },
|
||||
[')'] = new byte[] { 0x00, 0x82, 0x7C, 0x00, 0x00 },
|
||||
['*'] = new byte[] { 0x54, 0x38, 0xFE, 0x38, 0x54 },
|
||||
['+'] = new byte[] { 0x10, 0x10, 0x7C, 0x10, 0x10 },
|
||||
[','] = new byte[] { 0x00, 0x02, 0x04, 0x00, 0x00 },
|
||||
['-'] = new byte[] { 0x10, 0x10, 0x10, 0x10, 0x10 },
|
||||
['.'] = new byte[] { 0x00, 0x00, 0x02, 0x00, 0x00 },
|
||||
['/'] = new byte[] { 0x04, 0x08, 0x10, 0x20, 0x40 },
|
||||
['0'] = new byte[] { 0x7C, 0x8A, 0x92, 0xA2, 0x7C },
|
||||
['1'] = new byte[] { 0x00, 0x42, 0xFE, 0x02, 0x00 },
|
||||
['2'] = new byte[] { 0x46, 0x8A, 0x92, 0x92, 0x62 },
|
||||
['3'] = new byte[] { 0x44, 0x92, 0x92, 0x92, 0x6C },
|
||||
['4'] = new byte[] { 0xF0, 0x10, 0x10, 0x10, 0xFE },
|
||||
['5'] = new byte[] { 0xF4, 0x92, 0x92, 0x92, 0x8C },
|
||||
['6'] = new byte[] { 0x7C, 0x92, 0x92, 0x92, 0x4C },
|
||||
['7'] = new byte[] { 0xC0, 0x80, 0x8E, 0x90, 0xE0 },
|
||||
['8'] = new byte[] { 0x6C, 0x92, 0x92, 0x92, 0x6C },
|
||||
['9'] = new byte[] { 0x64, 0x92, 0x92, 0x92, 0x7C },
|
||||
[':'] = new byte[] { 0x00, 0x00, 0x24, 0x00, 0x00 },
|
||||
[';'] = new byte[] { 0x00, 0x02, 0x24, 0x00, 0x00 },
|
||||
['<'] = new byte[] { 0x10, 0x28, 0x44, 0x82, 0x00 },
|
||||
['='] = new byte[] { 0x28, 0x28, 0x28, 0x28, 0x28 },
|
||||
['>'] = new byte[] { 0x00, 0x82, 0x44, 0x28, 0x10 },
|
||||
['?'] = new byte[] { 0x40, 0x80, 0x9A, 0x90, 0x60 },
|
||||
['@'] = new byte[] { 0x7C, 0x92, 0xAA, 0xBA, 0x70 },
|
||||
['A'] = new byte[] { 0x7E, 0x90, 0x90, 0x90, 0x7E },
|
||||
['B'] = new byte[] { 0xFE, 0x92, 0x92, 0x92, 0x6C },
|
||||
['C'] = new byte[] { 0x7C, 0x82, 0x82, 0x82, 0x44 },
|
||||
['D'] = new byte[] { 0xFE, 0x82, 0x82, 0x82, 0x7C },
|
||||
['E'] = new byte[] { 0xFE, 0x92, 0x92, 0x92, 0x82 },
|
||||
['F'] = new byte[] { 0xFE, 0x90, 0x90, 0x90, 0x80 },
|
||||
['G'] = new byte[] { 0x7C, 0x82, 0x92, 0x92, 0x5C },
|
||||
['H'] = new byte[] { 0xFE, 0x10, 0x10, 0x10, 0xFE },
|
||||
['I'] = new byte[] { 0x82, 0x82, 0xFE, 0x82, 0x82 },
|
||||
['J'] = new byte[] { 0x04, 0x02, 0x02, 0x02, 0xFC },
|
||||
['K'] = new byte[] { 0xFE, 0x10, 0x28, 0x44, 0x82 },
|
||||
['L'] = new byte[] { 0xFE, 0x02, 0x02, 0x02, 0x02 },
|
||||
['M'] = new byte[] { 0xFE, 0x40, 0x20, 0x40, 0xFE },
|
||||
['N'] = new byte[] { 0xFE, 0x20, 0x10, 0x08, 0xFE },
|
||||
['O'] = new byte[] { 0x7C, 0x82, 0x82, 0x82, 0x7C },
|
||||
['P'] = new byte[] { 0xFE, 0x90, 0x90, 0x90, 0x60 },
|
||||
['Q'] = new byte[] { 0x7C, 0x82, 0x82, 0x86, 0x7E },
|
||||
['R'] = new byte[] { 0xFE, 0x90, 0x90, 0x90, 0x6E },
|
||||
['S'] = new byte[] { 0x64, 0x92, 0x92, 0x92, 0x4C },
|
||||
['T'] = new byte[] { 0x80, 0x80, 0xFE, 0x80, 0x80 },
|
||||
['U'] = new byte[] { 0xFC, 0x02, 0x02, 0x02, 0xFC },
|
||||
['V'] = new byte[] { 0xE0, 0x18, 0x06, 0x18, 0xE0 },
|
||||
['W'] = new byte[] { 0xFC, 0x02, 0x0C, 0x02, 0xFC },
|
||||
['X'] = new byte[] { 0xC6, 0x28, 0x10, 0x28, 0xC6 },
|
||||
['Y'] = new byte[] { 0xC0, 0x20, 0x1E, 0x20, 0xC0 },
|
||||
['Z'] = new byte[] { 0x86, 0x8A, 0x92, 0xA2, 0xC2 },
|
||||
['['] = new byte[] { 0x00, 0xFE, 0x82, 0x82, 0x00 },
|
||||
['\\'] = new byte[] { 0x40, 0x20, 0x10, 0x08, 0x04 },
|
||||
[']'] = new byte[] { 0x00, 0x82, 0x82, 0xFE, 0x00 },
|
||||
['^'] = new byte[] { 0x20, 0x40, 0x80, 0x40, 0x20 },
|
||||
['_'] = new byte[] { 0x02, 0x02, 0x02, 0x02, 0x02 },
|
||||
['`'] = new byte[] { 0x00, 0x00, 0xC0, 0x20, 0x00 },
|
||||
['°'] = new byte[] { 0x00, 0x00, 0x40, 0xA0, 0x40 },
|
||||
['a'] = new byte[] { 0x04, 0x2A, 0x2A, 0x2A, 0x1E },
|
||||
['b'] = new byte[] { 0xFE, 0x22, 0x22, 0x22, 0x1C },
|
||||
['c'] = new byte[] { 0x1C, 0x22, 0x22, 0x22, 0x14 },
|
||||
['d'] = new byte[] { 0x1C, 0x22, 0x22, 0x22, 0xFE },
|
||||
['e'] = new byte[] { 0x1C, 0x2A, 0x2A, 0x2A, 0x18 },
|
||||
['f'] = new byte[] { 0x10, 0x7E, 0x90, 0x90, 0x40 },
|
||||
['g'] = new byte[] { 0x10, 0x2A, 0x2A, 0x2A, 0x1C },
|
||||
['h'] = new byte[] { 0xFE, 0x20, 0x20, 0x20, 0x1E },
|
||||
['i'] = new byte[] { 0x00, 0x22, 0xBE, 0x02, 0x00 },
|
||||
['j'] = new byte[] { 0x00, 0x02, 0xBC, 0x00, 0x00 },
|
||||
['k'] = new byte[] { 0xFE, 0x08, 0x08, 0x14, 0x22 },
|
||||
['l'] = new byte[] { 0x00, 0x82, 0xFE, 0x02, 0x00 },
|
||||
['m'] = new byte[] { 0x3E, 0x20, 0x3E, 0x20, 0x1E },
|
||||
['n'] = new byte[] { 0x3E, 0x20, 0x20, 0x20, 0x1E },
|
||||
['o'] = new byte[] { 0x1C, 0x22, 0x22, 0x22, 0x1C },
|
||||
['p'] = new byte[] { 0x3E, 0x28, 0x28, 0x28, 0x10 },
|
||||
['q'] = new byte[] { 0x10, 0x28, 0x28, 0x28, 0x3E },
|
||||
['r'] = new byte[] { 0x3E, 0x20, 0x20, 0x20, 0x10 },
|
||||
['s'] = new byte[] { 0x12, 0x2A, 0x2A, 0x2A, 0x24 },
|
||||
['t'] = new byte[] { 0x20, 0xFC, 0x22, 0x22, 0x00 },
|
||||
['u'] = new byte[] { 0x3C, 0x02, 0x02, 0x02, 0x3E },
|
||||
['v'] = new byte[] { 0x38, 0x04, 0x02, 0x04, 0x38 },
|
||||
['w'] = new byte[] { 0x3C, 0x02, 0x0C, 0x02, 0x3C },
|
||||
['x'] = new byte[] { 0x22, 0x14, 0x08, 0x14, 0x22 },
|
||||
['y'] = new byte[] { 0x22, 0x14, 0x08, 0x10, 0x20 },
|
||||
['z'] = new byte[] { 0x22, 0x26, 0x2A, 0x32, 0x22 },
|
||||
['{'] = new byte[] { 0x00, 0x10, 0x6C, 0x82, 0x00 },
|
||||
['|'] = new byte[] { 0x00, 0x00, 0xFE, 0x00, 0x00 },
|
||||
['}'] = new byte[] { 0x00, 0x82, 0x6C, 0x10, 0x00 },
|
||||
['~'] = new byte[] { 0x40, 0x80, 0x40, 0x20, 0x40 },
|
||||
['Κ'] = new byte[] { 0xFE, 0x10, 0x28, 0x44, 0x82 },
|
||||
['Χ'] = new byte[] { 0xC6, 0x28, 0x10, 0x28, 0xC6 },
|
||||
['Υ'] = new byte[] { 0xC0, 0x20, 0x1E, 0x20, 0xC0 },
|
||||
['Μ'] = new byte[] { 0xFE, 0x40, 0x20, 0x40, 0xFE },
|
||||
['Γ'] = new byte[] { 0xFE, 0x80, 0x80, 0x80, 0x80 },
|
||||
['Ν'] = new byte[] { 0xFE, 0x20, 0x10, 0x08, 0xFE },
|
||||
['Ξ'] = new byte[] { 0x82, 0x92, 0x92, 0x92, 0x82 },
|
||||
['Ο'] = new byte[] { 0x7C, 0x82, 0x82, 0x82, 0x7C },
|
||||
['Θ'] = new byte[] { 0x7C, 0x92, 0x92, 0x92, 0x7C },
|
||||
['Π'] = new byte[] { 0xFE, 0x80, 0x80, 0x80, 0xFE },
|
||||
['Ρ'] = new byte[] { 0xFE, 0x90, 0x90, 0x90, 0x60 },
|
||||
['Ω'] = new byte[] { 0x7A, 0x8E, 0x80, 0x8E, 0x7A },
|
||||
['Ψ'] = new byte[] { 0xF0, 0x08, 0xFE, 0x08, 0xF0 },
|
||||
['Ι'] = new byte[] { 0x82, 0x82, 0xFE, 0x82, 0x82 },
|
||||
['∞'] = new byte[] { 0x38, 0x44, 0x38, 0x44, 0x38 },
|
||||
['Α'] = new byte[] { 0x7E, 0x90, 0x90, 0x90, 0x7E },
|
||||
['Δ'] = new byte[] { 0x0E, 0x32, 0xC2, 0x32, 0x0E },
|
||||
['Λ'] = new byte[] { 0x0E, 0x30, 0xC0, 0x30, 0x0E },
|
||||
['Ε'] = new byte[] { 0xFE, 0x92, 0x92, 0x92, 0x82 },
|
||||
['Η'] = new byte[] { 0xFE, 0x10, 0x10, 0x10, 0xFE },
|
||||
['Φ'] = new byte[] { 0x38, 0x44, 0xFE, 0x44, 0x38 },
|
||||
['Β'] = new byte[] { 0xFE, 0x92, 0x92, 0x92, 0x6C },
|
||||
['Τ'] = new byte[] { 0x80, 0x80, 0xFE, 0x80, 0x80 },
|
||||
['Ζ'] = new byte[] { 0x86, 0x8A, 0x92, 0xA2, 0xC2 },
|
||||
['Σ'] = new byte[] { 0xC6, 0xAA, 0x92, 0x82, 0x82 },
|
||||
[':'] = new byte[] { 0x00, 0x00, 0x24, 0x00, 0x00 },
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// 增加LED字符
|
||||
/// </summary>
|
||||
/// <param name="key">字符</param>
|
||||
/// <param name="bytes">显示</param>
|
||||
public static void Add(char key, byte[] bytes)
|
||||
{
|
||||
if (!Chars.ContainsKey(key))
|
||||
{
|
||||
Chars.Add(key, bytes);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user