* UILineChartOption: 增加了UpdateYData函数,按序号更新Y轴值
This commit is contained in:
parent
20bcf1f3e5
commit
e045973d62
@ -20,6 +20,7 @@
|
|||||||
* 2022-07-15: V3.2.1 增加移除线的操作
|
* 2022-07-15: V3.2.1 增加移除线的操作
|
||||||
* 2022-11-25: V3.2.2 增加了线的最大点数设置,以及移除点数的设置
|
* 2022-11-25: V3.2.2 增加了线的最大点数设置,以及移除点数的设置
|
||||||
* 2022-11-25: V3.2.2 重构对象
|
* 2022-11-25: V3.2.2 重构对象
|
||||||
|
* 2023-05-06: V3.3.6 增加了UpdateYData函数,按序号更新Y轴值
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
@ -168,6 +169,12 @@ namespace Sunny.UI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void UpdateYData(string seriesName, int index, double value)
|
||||||
|
{
|
||||||
|
if (!Series.ContainsKey(seriesName)) return;
|
||||||
|
Series[seriesName].UpdateYData(index, value);
|
||||||
|
}
|
||||||
|
|
||||||
public void Clear()
|
public void Clear()
|
||||||
{
|
{
|
||||||
foreach (var series in Series.Values)
|
foreach (var series in Series.Values)
|
||||||
@ -476,6 +483,15 @@ namespace Sunny.UI
|
|||||||
|
|
||||||
private int MaxCount = 0;
|
private int MaxCount = 0;
|
||||||
|
|
||||||
|
public void UpdateYData(int index, double value)
|
||||||
|
{
|
||||||
|
if (YData.Count == 0) return;
|
||||||
|
if (index >= 0 && index < YData.Count)
|
||||||
|
{
|
||||||
|
YData[index] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 设置线的最大点数,0不限制
|
/// 设置线的最大点数,0不限制
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -592,7 +592,7 @@ namespace Sunny.UI
|
|||||||
/// <param name="horizontalAlignment">水平方向</param>
|
/// <param name="horizontalAlignment">水平方向</param>
|
||||||
/// <param name="verticalAlignment">垂直方向</param>
|
/// <param name="verticalAlignment">垂直方向</param>
|
||||||
/// <returns>文本布局</returns>
|
/// <returns>文本布局</returns>
|
||||||
public static StringFormat SetAlignment(StringAlignment horizontalAlignment = StringAlignment.Center, StringAlignment verticalAlignment = StringAlignment.Center)
|
public static StringFormat SetCenterAlignment(StringAlignment horizontalAlignment = StringAlignment.Center, StringAlignment verticalAlignment = StringAlignment.Center)
|
||||||
{
|
{
|
||||||
return new StringFormat { Alignment = horizontalAlignment, LineAlignment = verticalAlignment };
|
return new StringFormat { Alignment = horizontalAlignment, LineAlignment = verticalAlignment };
|
||||||
}
|
}
|
||||||
|
@ -173,6 +173,182 @@ namespace Sunny.UI
|
|||||||
public static void DrawString(this Graphics g, string text, Font font, Color color, Point pt, StringFormat format)
|
public static void DrawString(this Graphics g, string text, Font font, Color color, Point pt, StringFormat format)
|
||||||
=> g.DrawString(text, font, color, pt.X, pt.Y, format);
|
=> g.DrawString(text, font, color, pt.X, pt.Y, format);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 绘制字符串
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="g">绘图图元</param>
|
||||||
|
/// <param name="str">字符串</param>
|
||||||
|
/// <param name="font">字体</param>
|
||||||
|
/// <param name="color">颜色</param>
|
||||||
|
/// <param name="size">大小</param>
|
||||||
|
/// <param name="padding">边距</param>
|
||||||
|
/// <param name="align">位置位置</param>
|
||||||
|
public static void DrawString(this Graphics g, string str, Font font, Color color, Size size, Padding padding, ContentAlignment align, int offsetX = 0, int offsetY = 0)
|
||||||
|
{
|
||||||
|
if (str.IsNullOrEmpty()) return;
|
||||||
|
SizeF sf = g.MeasureString(str, font);
|
||||||
|
using Brush br = color.Brush();
|
||||||
|
switch (align)
|
||||||
|
{
|
||||||
|
case ContentAlignment.MiddleCenter:
|
||||||
|
g.DrawString(str, font, br, padding.Left + (size.Width - sf.Width - padding.Left - padding.Right) / 2.0f + offsetX,
|
||||||
|
padding.Top + (size.Height - sf.Height - padding.Top - padding.Bottom) / 2.0f + offsetY);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ContentAlignment.TopLeft:
|
||||||
|
g.DrawString(str, font, br, padding.Left + offsetX, padding.Top + offsetY);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ContentAlignment.TopCenter:
|
||||||
|
g.DrawString(str, font, br, padding.Left + (size.Width - sf.Width - padding.Left - padding.Right) / 2.0f + offsetX, padding.Top + offsetY);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ContentAlignment.TopRight:
|
||||||
|
g.DrawString(str, font, br, size.Width - sf.Width - padding.Right + offsetX, padding.Top + offsetY);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ContentAlignment.MiddleLeft:
|
||||||
|
g.DrawString(str, font, br, padding.Left + offsetX, padding.Top + (size.Height - sf.Height - padding.Top - padding.Bottom) / 2.0f + offsetY);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ContentAlignment.MiddleRight:
|
||||||
|
g.DrawString(str, font, br, size.Width - sf.Width - padding.Right + offsetX, padding.Top + (size.Height - sf.Height - padding.Top - padding.Bottom) / 2.0f + offsetY);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ContentAlignment.BottomLeft:
|
||||||
|
g.DrawString(str, font, br, padding.Left + offsetX, size.Height - sf.Height - padding.Bottom + offsetY);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ContentAlignment.BottomCenter:
|
||||||
|
g.DrawString(str, font, br, padding.Left + (size.Width - sf.Width - padding.Left - padding.Right) / 2.0f + offsetX, size.Height - sf.Height - padding.Bottom + offsetY);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ContentAlignment.BottomRight:
|
||||||
|
g.DrawString(str, font, br, size.Width - sf.Width - padding.Right + offsetX, size.Height - sf.Height - padding.Bottom + offsetY);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 绘制字符串
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="g">绘图图元</param>
|
||||||
|
/// <param name="text">文字</param>
|
||||||
|
/// <param name="font">字体</param>
|
||||||
|
/// <param name="color">颜色</param>
|
||||||
|
/// <param name="rect">区域</param>
|
||||||
|
/// <param name="format">格式</param>
|
||||||
|
/// <param name="angle">角度</param>
|
||||||
|
public static void DrawString(this Graphics g, string text, Font font, Color color, RectangleF rect, StringFormat format, float angle)
|
||||||
|
{
|
||||||
|
if (text.IsNullOrEmpty()) return;
|
||||||
|
using Brush br = color.Brush();
|
||||||
|
g.DrawStringRotateAtCenter(text, font, color, rect.Center(), (int)angle);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 以文字中心点为原点,旋转文字
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="g">绘图图元</param>
|
||||||
|
/// <param name="text">文字</param>
|
||||||
|
/// <param name="font">字体</param>
|
||||||
|
/// <param name="color">颜色</param>
|
||||||
|
/// <param name="centerPoint">文字中心点</param>
|
||||||
|
/// <param name="angle">角度</param>
|
||||||
|
public static void DrawStringRotateAtCenter(this Graphics g, string text, Font font, Color color, PointF centerPoint, float angle)
|
||||||
|
{
|
||||||
|
if (text.IsNullOrEmpty()) return;
|
||||||
|
using Brush br = color.Brush();
|
||||||
|
g.DrawStringRotateAtCenter(text, font, br, centerPoint, angle);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 以文字中心点为原点,旋转文字
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="g">绘图图元</param>
|
||||||
|
/// <param name="text">文字</param>
|
||||||
|
/// <param name="font">字体</param>
|
||||||
|
/// <param name="brush">笔刷</param>
|
||||||
|
/// <param name="centerPoint">文字中心点</param>
|
||||||
|
/// <param name="angle">角度</param>
|
||||||
|
public static void DrawStringRotateAtCenter(this Graphics g, string text, Font font, Brush brush, PointF centerPoint, float angle)
|
||||||
|
{
|
||||||
|
if (text.IsNullOrEmpty()) return;
|
||||||
|
SizeF sf = g.MeasureString(text, font);
|
||||||
|
float x1 = centerPoint.X - sf.Width / 2.0f;
|
||||||
|
float y1 = centerPoint.Y - sf.Height / 2.0f;
|
||||||
|
|
||||||
|
// 把画板的原点(默认是左上角)定位移到文字中心
|
||||||
|
g.TranslateTransform(x1 + sf.Width / 2, y1 + sf.Height / 2);
|
||||||
|
// 旋转画板
|
||||||
|
g.RotateTransform(angle);
|
||||||
|
// 回退画板x,y轴移动过的距离
|
||||||
|
g.TranslateTransform(-(x1 + sf.Width / 2), -(y1 + sf.Height / 2));
|
||||||
|
g.DrawString(text, font, brush, x1, y1);
|
||||||
|
|
||||||
|
//恢复
|
||||||
|
g.TranslateTransform(x1 + sf.Width / 2, y1 + sf.Height / 2);
|
||||||
|
g.RotateTransform(-angle);
|
||||||
|
g.TranslateTransform(-(x1 + sf.Width / 2), -(y1 + sf.Height / 2));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 以旋转点为原点,旋转文字
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="g">绘图图元</param>
|
||||||
|
/// <param name="text">文本</param>
|
||||||
|
/// <param name="font">字体</param>
|
||||||
|
/// <param name="brush">填充</param>
|
||||||
|
/// <param name="rotatePoint">旋转点</param>
|
||||||
|
/// <param name="format">布局方式</param>
|
||||||
|
/// <param name="angle">角度</param>
|
||||||
|
public static void DrawString(this Graphics g, string text, Font font, Brush brush, PointF rotatePoint, StringFormat format, float angle)
|
||||||
|
{
|
||||||
|
if (text.IsNullOrEmpty()) return;
|
||||||
|
// Save the matrix
|
||||||
|
Matrix mtxSave = g.Transform;
|
||||||
|
Matrix mtxRotate = g.Transform;
|
||||||
|
mtxRotate.RotateAt(angle, rotatePoint);
|
||||||
|
g.Transform = mtxRotate;
|
||||||
|
g.DrawString(text, font, brush, rotatePoint, format);
|
||||||
|
|
||||||
|
// Reset the matrix
|
||||||
|
g.Transform = mtxSave;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 绘制字符串
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="g">绘图图元</param>
|
||||||
|
/// <param name="text">文字</param>
|
||||||
|
/// <param name="font">字体</param>
|
||||||
|
/// <param name="color">颜色</param>
|
||||||
|
/// <param name="rotatePoint">旋转点</param>
|
||||||
|
/// <param name="format">格式</param>
|
||||||
|
/// <param name="angle">角度</param>
|
||||||
|
public static void DrawString(this Graphics g, string text, Font font, Color color, PointF rotatePoint, StringFormat format, float angle)
|
||||||
|
{
|
||||||
|
if (text.IsNullOrEmpty()) return;
|
||||||
|
using Brush br = color.Brush();
|
||||||
|
g.DrawString(text, font, br, rotatePoint, format, angle);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 绘制根据矩形旋转文本
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="g">绘图图元</param>
|
||||||
|
/// <param name="text">文本</param>
|
||||||
|
/// <param name="font">字体</param>
|
||||||
|
/// <param name="brush">填充</param>
|
||||||
|
/// <param name="rect">局部矩形</param>
|
||||||
|
/// <param name="format">布局方式</param>
|
||||||
|
/// <param name="angle">角度</param>
|
||||||
|
public static void DrawString(this Graphics g, string text, Font font, Brush brush, RectangleF rect, StringFormat format, float angle)
|
||||||
|
{
|
||||||
|
if (text.IsNullOrEmpty()) return;
|
||||||
|
g.DrawStringRotateAtCenter(text, font, brush, rect.Center(), angle);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 绘制多条直线连接
|
/// 绘制多条直线连接
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -1463,182 +1639,6 @@ namespace Sunny.UI
|
|||||||
new Rectangle(cutLeft, cutTop, img.Width - cutLeft - cutRight, img.Height - cutTop - cutBottom), GraphicsUnit.Pixel);
|
new Rectangle(cutLeft, cutTop, img.Width - cutLeft - cutRight, img.Height - cutTop - cutBottom), GraphicsUnit.Pixel);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 绘制字符串
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="g">绘图图元</param>
|
|
||||||
/// <param name="str">字符串</param>
|
|
||||||
/// <param name="font">字体</param>
|
|
||||||
/// <param name="color">颜色</param>
|
|
||||||
/// <param name="size">大小</param>
|
|
||||||
/// <param name="padding">边距</param>
|
|
||||||
/// <param name="align">位置位置</param>
|
|
||||||
public static void DrawString(this Graphics g, string str, Font font, Color color, Size size, Padding padding, ContentAlignment align, int offsetX = 0, int offsetY = 0)
|
|
||||||
{
|
|
||||||
if (str.IsNullOrEmpty()) return;
|
|
||||||
SizeF sf = g.MeasureString(str, font);
|
|
||||||
using Brush br = color.Brush();
|
|
||||||
switch (align)
|
|
||||||
{
|
|
||||||
case ContentAlignment.MiddleCenter:
|
|
||||||
g.DrawString(str, font, br, padding.Left + (size.Width - sf.Width - padding.Left - padding.Right) / 2.0f + offsetX,
|
|
||||||
padding.Top + (size.Height - sf.Height - padding.Top - padding.Bottom) / 2.0f + offsetY);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ContentAlignment.TopLeft:
|
|
||||||
g.DrawString(str, font, br, padding.Left + offsetX, padding.Top + offsetY);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ContentAlignment.TopCenter:
|
|
||||||
g.DrawString(str, font, br, padding.Left + (size.Width - sf.Width - padding.Left - padding.Right) / 2.0f + offsetX, padding.Top + offsetY);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ContentAlignment.TopRight:
|
|
||||||
g.DrawString(str, font, br, size.Width - sf.Width - padding.Right + offsetX, padding.Top + offsetY);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ContentAlignment.MiddleLeft:
|
|
||||||
g.DrawString(str, font, br, padding.Left + offsetX, padding.Top + (size.Height - sf.Height - padding.Top - padding.Bottom) / 2.0f + offsetY);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ContentAlignment.MiddleRight:
|
|
||||||
g.DrawString(str, font, br, size.Width - sf.Width - padding.Right + offsetX, padding.Top + (size.Height - sf.Height - padding.Top - padding.Bottom) / 2.0f + offsetY);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ContentAlignment.BottomLeft:
|
|
||||||
g.DrawString(str, font, br, padding.Left + offsetX, size.Height - sf.Height - padding.Bottom + offsetY);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ContentAlignment.BottomCenter:
|
|
||||||
g.DrawString(str, font, br, padding.Left + (size.Width - sf.Width - padding.Left - padding.Right) / 2.0f + offsetX, size.Height - sf.Height - padding.Bottom + offsetY);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ContentAlignment.BottomRight:
|
|
||||||
g.DrawString(str, font, br, size.Width - sf.Width - padding.Right + offsetX, size.Height - sf.Height - padding.Bottom + offsetY);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 绘制字符串
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="g">绘图图元</param>
|
|
||||||
/// <param name="text">文字</param>
|
|
||||||
/// <param name="font">字体</param>
|
|
||||||
/// <param name="color">颜色</param>
|
|
||||||
/// <param name="rect">区域</param>
|
|
||||||
/// <param name="format">格式</param>
|
|
||||||
/// <param name="angle">角度</param>
|
|
||||||
public static void DrawString(this Graphics g, string text, Font font, Color color, RectangleF rect, StringFormat format, float angle)
|
|
||||||
{
|
|
||||||
if (text.IsNullOrEmpty()) return;
|
|
||||||
using Brush br = color.Brush();
|
|
||||||
g.DrawStringRotateAtCenter(text, font, color, rect.Center(), (int)angle);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 以文字中心点为原点,旋转文字
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="g">绘图图元</param>
|
|
||||||
/// <param name="text">文字</param>
|
|
||||||
/// <param name="font">字体</param>
|
|
||||||
/// <param name="color">颜色</param>
|
|
||||||
/// <param name="centerPoint">文字中心点</param>
|
|
||||||
/// <param name="angle">角度</param>
|
|
||||||
public static void DrawStringRotateAtCenter(this Graphics g, string text, Font font, Color color, PointF centerPoint, float angle)
|
|
||||||
{
|
|
||||||
if (text.IsNullOrEmpty()) return;
|
|
||||||
using Brush br = color.Brush();
|
|
||||||
g.DrawStringRotateAtCenter(text, font, br, centerPoint, angle);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 以文字中心点为原点,旋转文字
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="g">绘图图元</param>
|
|
||||||
/// <param name="text">文字</param>
|
|
||||||
/// <param name="font">字体</param>
|
|
||||||
/// <param name="brush">笔刷</param>
|
|
||||||
/// <param name="centerPoint">文字中心点</param>
|
|
||||||
/// <param name="angle">角度</param>
|
|
||||||
public static void DrawStringRotateAtCenter(this Graphics g, string text, Font font, Brush brush, PointF centerPoint, float angle)
|
|
||||||
{
|
|
||||||
if (text.IsNullOrEmpty()) return;
|
|
||||||
SizeF sf = g.MeasureString(text, font);
|
|
||||||
float x1 = centerPoint.X - sf.Width / 2.0f;
|
|
||||||
float y1 = centerPoint.Y - sf.Height / 2.0f;
|
|
||||||
|
|
||||||
// 把画板的原点(默认是左上角)定位移到文字中心
|
|
||||||
g.TranslateTransform(x1 + sf.Width / 2, y1 + sf.Height / 2);
|
|
||||||
// 旋转画板
|
|
||||||
g.RotateTransform(angle);
|
|
||||||
// 回退画板x,y轴移动过的距离
|
|
||||||
g.TranslateTransform(-(x1 + sf.Width / 2), -(y1 + sf.Height / 2));
|
|
||||||
g.DrawString(text, font, brush, x1, y1);
|
|
||||||
|
|
||||||
//恢复
|
|
||||||
g.TranslateTransform(x1 + sf.Width / 2, y1 + sf.Height / 2);
|
|
||||||
g.RotateTransform(-angle);
|
|
||||||
g.TranslateTransform(-(x1 + sf.Width / 2), -(y1 + sf.Height / 2));
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 以旋转点为原点,旋转文字
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="g">绘图图元</param>
|
|
||||||
/// <param name="text">文本</param>
|
|
||||||
/// <param name="font">字体</param>
|
|
||||||
/// <param name="brush">填充</param>
|
|
||||||
/// <param name="rotatePoint">旋转点</param>
|
|
||||||
/// <param name="format">布局方式</param>
|
|
||||||
/// <param name="angle">角度</param>
|
|
||||||
public static void DrawString(this Graphics g, string text, Font font, Brush brush, PointF rotatePoint, StringFormat format, float angle)
|
|
||||||
{
|
|
||||||
if (text.IsNullOrEmpty()) return;
|
|
||||||
// Save the matrix
|
|
||||||
Matrix mtxSave = g.Transform;
|
|
||||||
Matrix mtxRotate = g.Transform;
|
|
||||||
mtxRotate.RotateAt(angle, rotatePoint);
|
|
||||||
g.Transform = mtxRotate;
|
|
||||||
g.DrawString(text, font, brush, rotatePoint, format);
|
|
||||||
|
|
||||||
// Reset the matrix
|
|
||||||
g.Transform = mtxSave;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 绘制字符串
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="g">绘图图元</param>
|
|
||||||
/// <param name="text">文字</param>
|
|
||||||
/// <param name="font">字体</param>
|
|
||||||
/// <param name="color">颜色</param>
|
|
||||||
/// <param name="rotatePoint">旋转点</param>
|
|
||||||
/// <param name="format">格式</param>
|
|
||||||
/// <param name="angle">角度</param>
|
|
||||||
public static void DrawString(this Graphics g, string text, Font font, Color color, PointF rotatePoint, StringFormat format, float angle)
|
|
||||||
{
|
|
||||||
if (text.IsNullOrEmpty()) return;
|
|
||||||
using Brush br = color.Brush();
|
|
||||||
g.DrawString(text, font, br, rotatePoint, format, angle);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 绘制根据矩形旋转文本
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="g">绘图图元</param>
|
|
||||||
/// <param name="text">文本</param>
|
|
||||||
/// <param name="font">字体</param>
|
|
||||||
/// <param name="brush">填充</param>
|
|
||||||
/// <param name="rect">局部矩形</param>
|
|
||||||
/// <param name="format">布局方式</param>
|
|
||||||
/// <param name="angle">角度</param>
|
|
||||||
public static void DrawString(this Graphics g, string text, Font font, Brush brush, RectangleF rect, StringFormat format, float angle)
|
|
||||||
{
|
|
||||||
if (text.IsNullOrEmpty()) return;
|
|
||||||
g.DrawStringRotateAtCenter(text, font, brush, rect.Center(), angle);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 绘制两点连线
|
/// 绘制两点连线
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -767,7 +767,7 @@ namespace Sunny.UI
|
|||||||
|
|
||||||
if (MenuHelper[e.Node] != null)
|
if (MenuHelper[e.Node] != null)
|
||||||
{
|
{
|
||||||
using StringFormat alignment = GDI.SetAlignment();
|
using StringFormat alignment = GDI.SetCenterAlignment();
|
||||||
if (MenuHelper[e.Node].TipsCustom)
|
if (MenuHelper[e.Node].TipsCustom)
|
||||||
{
|
{
|
||||||
e.Graphics.FillEllipse(MenuHelper[e.Node].TipsBackColor, tipsLeft, tipsTop, sfMax, sfMax);
|
e.Graphics.FillEllipse(MenuHelper[e.Node].TipsBackColor, tipsLeft, tipsTop, sfMax, sfMax);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user