发布网友 发布时间:2022-04-22 09:03
共3个回答
热心网友 时间:2023-12-16 18:37
要用硬点的纸壳,纸箱也行,然后要知道象棋的大小,每一个格线画个点。然后以老将为中心往前:士,象,兵,河界。对面一样
热心网友 时间:2023-12-16 18:37
以下是棋盘实现代码:
/// <summary>
/// 绘制棋盘
/// </summary>
public void DrawChessBoard()
{
//棋盘背景
Bitmap map = ChineseChess.Res.Properties.Resources.xqboard.Clone() as Bitmap;
//画棋子
Graphics g = Graphics.FromImage(map);
for (int i = 0; i < 9; i++)
{
for (int j = 0; j < 10; j++)
{
if (_chesses[i, j] != null)
{
//计算物理坐标
Point p = CoordinateHelper.CalculatePyshicalPoint(new ChessPoint(i, j));
g.DrawImage(_chesses[i, j].ChessImage, p.X, p.Y, 43, 43); //画棋子
//当前棋子上面画一个焦点框
if (_chesses[i, j] == _currentChess)
{
Bitmap focus = ChineseChess.Res.Properties.Resources.focus.Clone() as Bitmap;
focus.MakeTransparent(Color.FromArgb(255, 255, 255));
g.DrawImage(focus, p.X, p.Y, 43, 43);
}
}
}
}
g.Dispose();
_pbChessBoard.Invoke(_SetImage, _pbChessBoard, map);
}
热心网友 时间:2023-12-16 18:38
外面用绘图软件画好,拉进来用
C#的graphic绘图类也能画,用代码画比较烦