/// <summary>
/// 主要作業方法
/// </summary>
public Image Operation()
{
Graphics g = Graphics.FromImage(image);
_mask_pos_x = (image.Width / 2) + _Xoffset;
SizeF steSize = new SizeF();
for (int i = _FontMaxSize; i >= _FontMinSize; i--)
{
using (Font testFont = new Font(_FontFamily, i, FontStyle.Bold))
{
steSize = g.MeasureString(_text, testFont);
if ((ushort)steSize.Width < (ushort)_Width || i == _FontMinSize)
{
using (SolidBrush semiTransBrush = new SolidBrush(_fontcolor))
{
StringFormat StrFormat = new StringFormat();
StrFormat.Alignment = StringAlignment.Center;
g.DrawString(_text, testFont, semiTransBrush, new PointF(_mask_pos_x, _mask_pos_y), StrFormat);
semiTransBrush.Dispose();
}
testFont.Dispose();
break;
}
}
}
return image;
}