Skip to content

Commit

Permalink
Refactor code
Browse files Browse the repository at this point in the history
  • Loading branch information
XcantloadX committed Jan 19, 2020
1 parent 65a6f61 commit 703dedb
Show file tree
Hide file tree
Showing 11 changed files with 619 additions and 516 deletions.
Binary file modified UnitaleFontMaker.suo
Binary file not shown.
5 changes: 5 additions & 0 deletions UnitaleFontMaker/Character.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@

namespace UnitaleFontMaker
{
/// <summary>
/// 单个字符
/// </summary>
public class Character
{
private char _char;
Expand Down Expand Up @@ -36,6 +39,8 @@ public float Height
get { return rect.Height; }
set { rect.Height = value; }
}

public RectangleF RectF { get { return this.rect; } }

public Character(char character, RectangleF rect)
{
Expand Down
47 changes: 47 additions & 0 deletions UnitaleFontMaker/Characters.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace UnitaleFontMaker
{
/// <summary>
/// 多个字符
/// </summary>
public class Characters
{
/// <summary>
/// 必须添加的字符
/// </summary>
public const string MUST_CHARS = "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ "; //注意最后面还有一个空格

/// <summary>
/// 添加单个字符
/// </summary>
/// <param name="c">待添加的字符</param>
public void AddChar(Character c)
{

}

/// <summary>
/// 添加多个字符
/// </summary>
/// <param name="c">待添加的字符</param>
public void AddChars(Character[] c)
{

}

/// <summary>
/// 添加字符串中的所有字符
/// </summary>
/// <param name="s">待添加的字符串</param>
public void AddChars(string s)
{

}


}
}
30 changes: 19 additions & 11 deletions UnitaleFontMaker/FontPainter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
namespace UnitaleFontMaker
{

/// <summary>
/// 字体绘制
/// </summary>
public class FontPainter
{
private Graphics gImage;
Expand All @@ -22,13 +25,18 @@ public class FontPainter

public Font font;

/// <summary>
/// 字体的颜色
/// </summary>
public Color TextColor
{
get { return brush.Color; }
set { brush.Color = value; }
}


/// <summary>
/// 待绘制的文本
/// </summary>
public string Text
{
get { return str; }
Expand All @@ -40,7 +48,7 @@ public Size Size
get { return new Size(width, height); }
set
{
Size s = ((Size)value);
Size s = value;
width = s.Width;
height = s.Height;

Expand Down Expand Up @@ -70,29 +78,29 @@ public FontPainter(Font font, int width, int height)

public void Paint()
{
//gImage.FillRectangle(backBrush, 0, 0, this.width, this.height);
gImage.Clear(Color.FromArgb(0, 0, 0, 0));
gImage.Clear(Color.FromArgb(0, 0, 0, 0)); //使用透明颜色清除背景

//获取所有字符
Character[] chars = GetCharacters();
if(chars == null)
return;

//遍历绘制字符
for (int i = 0; i < chars.Length; i++)
{
int x = (int)chars[i].X;
int y = (int)chars[i].Y;
int width = (int)chars[i].Width;
int height = (int)chars[i].Height;

gImage.DrawString(chars[i].Char.ToString(), font, brush, x, y, format);
gImage.DrawString(chars[i].Char.ToString(), font, brush, chars[i].X, chars[i].Y);
}

}

/// <summary>
/// 保存图片到指定路径
/// </summary>
/// <param name="path">图片路径</param>
public void Save(string path)
{
Paint();
image.Save(path);

}

public Bitmap GetImage()
Expand Down
11 changes: 10 additions & 1 deletion UnitaleFontMaker/FontXml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,10 @@ public FontXml()
font.AppendChild(spriteSheet);
}

/// <summary>
/// 保存 XML 文件
/// </summary>
/// <param name="path">保存路径</param>
public void Save(string path)
{
for (int i = 0; i < Characters.Length; i++)
Expand All @@ -75,7 +79,12 @@ public void Save(string path)
doc.Save(path);
}

public string CheckSpecialChar(string str)
/// <summary>
/// 检查特殊字符并替换
/// </summary>
/// <param name="str">待检查的字符</param>
/// <returns>替换后的结果</returns>
private string CheckSpecialChar(string str)
{
switch (str)
{
Expand Down
Loading

0 comments on commit 703dedb

Please sign in to comment.