{
strTime = _dateTime.ToString("T", DateTimeFormatInfo.InvariantInfo);
}
else if(this._clockStyle == SevenSegmentClockStyle.DateOnly)
{
//设置日期格式
strTime = _dateTime.ToString("yyyy-MM-dd", DateTimeFormatInfo.InvariantInfo);
}
else
{
strTime = _dateTime.ToString("yyyy-MM-dd", DateTimeFormatInfo.InvariantInfo) + " " + _dateTime.ToString("T", DateTimeFormatInfo.InvariantInfo);
}
SizeF sizef = ssd.MeasureString(strTime, Font);
float fScale = Math.Min(destRect.Width / sizef.Width, destRect.Height / sizef.Height);
Font font = new Font(Font.FontFamily, fScale * Font.SizeInPoints);
sizef = ssd.MeasureString(strTime, font);
_clockStringWidth = (int)sizef.Width;
_clockStringHeight = (int)sizef.Height;
ssd.DrawString(strTime, font, new SolidBrush(this._clockColor),
(destRect.Width - sizef.Width) / 2,
(destRect.Height - sizef.Height) / 2);
grfx.Restore(gs);
return m_Bitmap;
}
}
}
//--------------------------(如转载,请保留版权信息)-------------------------//
// SevenSegmentDisplay.cs 2001 by Charles Petzold //
//------------------------改编:朱继山 a3news(AT)hotmail.com -----------//
using System;
using System.Drawing;
using System.Windows.Forms;
namespace BrawDraw.Com.PhotoFrame.Net.PublicFunctions.Clock
{
//字符绘制的算法
class SevenSegmentDisplay
{
Graphics grfx;
Brush _brush = Brushes.Black;
bool _isDrawShadow = true;
Color _shadowColor = Color.FromArgb(60, Color.White);
Brush _shadowBrush = null;
// Indicates what segments are illuminated for all 10 digits
static byte[,] bySegment = {
{1, 1, 1, 0, 1, 1, 1}, // 0
{0, 0, 1, 0, 0, 1, 0}, // 1
{1, 0, 1, 1, 1, 0, 1}, // 2
{1, 0, 1, 1, 0, 1, 1}, // 3
{0, 1, 1, 1, 0, 1, 0}, &nbs
| 对此文章发表了评论 |

