【问题标题】:MATLAB: Taking Values from an Array to Display ImagesMATLAB:从数组中获取值以显示图像
【发布时间】:2013-08-06 04:34:38
【问题描述】:

我正在尝试创建一个程序来显示正在进行的国际象棋游戏的当前棋盘。该板以数组形式给出,其中: 0 空, 1个白卒, 2白鸦, 3白骑士, 4 白主教, 5 白皇后, 6白王, 7 黑棋子, 8 黑鸦, 9 黑骑士, 10 黑主教, 11 黑皇后,和 12 黑王。

我想知道如何获取在数组中随机位置给出的这些数字并将它们转换为给定的图像文件。每件作品都有自己单独的图像文件,并且板将作为背景。我已经将图像缩小到适当的尺寸,但我不确定如何将每个图像放置到板上的正确位置。我该怎么做呢?

例如,一个黑色棋子作为图像 'b_pawn.png' 给出,并且已经使用 'checkerboard.m' 创建了棋盘。

【问题讨论】:

    标签: image matlab


    【解决方案1】:

    您已经将不同的棋子编码为数字(0 表示空,1 表示白棋等)。所以您需要做的就是将这些数字映射到相应的图像文件中。这可以使用元胞数组来完成:

    images = {
        'w_pawn.png' % MATLAB indexing starts at 1
        'w_rook.png'
        % ... fill in other filenames here
    };
    piece = board(i, j); % Get piece number at location i, j
                         % Update this to fit your code
    if piece > 0
        % Field is not empty
        filename = images{piece};
        % ... display image here
    else
        % Field is empty
        % ... clear field here
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-07
      • 2019-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-09
      相关资源
      最近更新 更多