繁体   English   中英

c#图片框矩阵

[英]c# Matrix of pictureBox

我正在为 windows 手机开发一款益智游戏。 目的是将一幅图像分割成九个部分并重新排列得到原始图像。 这些分割图像放在图片框上,这些图片框重新分布在 3X3 单元的矩阵中。

用户移动这些单元格以将它们排列在正确的 position 中(这是一个益智游戏。)。

我需要一些东西来访问这些图片框并知道它们在矩阵中的位置。 假设我需要更新第 1 行第 2 列的图像(这只是一个示例)。

在 C++ 中,我使用指针来引用 object,但我不知道如何使用 C# 来实现。

有什么建议吗?

谢谢!

只需使用包含对 PictureBox 的引用的对象创建矩阵。

MyObject[,] layout = new MyObject[3,3];

public class MyObject
{
        #region attributes        
        private PictureBox pictureBox;
        #endregion

        public MyObject(PictureBox pictureBox)
        {
            this.pictureBox = pictureBox;
        }
}
//This is a reference object
MyCustomObject o1 = new MyCustomObject(imageUrl, row, col);

因此,从我的示例中,我创建了一个自定义 object,它包含图像的 url 以及行和列引用。

然后我可以打电话:

int row = o1.Row;
int col = o1.Col;
string imageUrl = o1.ImageUrl;

然后,您可以按照自己的意愿使用。

希望这可以帮助:

安德鲁

一种可能的方法是构建一个拼图 class ,它将包含对图像的引用,它是当前的 position 和它的目标 position。

public class PuzzlePeice

{
public Bitmap Image {get; }
puliic Point Position {get; set; }
public Point TargetPosition {get; };


}

然后假设 peice 是上述 class 的一个实例,移动 peice 将如下所示:

peice.Postion = new Point(x,y);

TargetPosition 指示 peice 在矩阵中的位置以形成正确的图像,该值当然来自您获得拼图信息的任何数据源,并且可以在构造函数中设置

希望这可以帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM