c#画了格子如何在格子中添加图片
时间: 2024-11-05 16:27:13 浏览: 4
在 C# 中,你可以使用 GDI+(Graphics Device Interface Plus)或 WPF(Windows Presentation Foundation)来在网格上添加图片。这里我们以 Windows 窗口应用为例,假设你已经创建了一个二维数组表示网格,每个元素代表一个网格单元。
**使用 GDI+ (WinForms)**
```csharp
using System.Drawing;
using System.Windows.Forms;
public void AddImageToGrid(Graphics g, Image image, int[,] grid)
{
for (int row = 0; row < grid.GetLength(0); row++)
{
for (int col = 0; col < grid.GetLength(1); col++)
{
if (grid[row, col] == 1) // 假设1表示有图片
{
int x = col * cellWidth; // cellWidth是你想要的每个单元格宽度
int y = row * cellHeight; // cellHeight是高度
g.DrawImage(image, x, y);
}
}
}
}
```
在这个例子中,你需要先确定图片`image`的位置,然后计算出每个网格单元的坐标,如果该单元格需要显示图片,则绘制图片到对应位置。
**使用 WPF (XAML + C#)**
```xaml
<Canvas>
<Canvas.Children>
<Image Source="{Binding ImageSource}" Grid.IsSharedSizeScope="True"
HorizontalAlignment="Center" VerticalAlignment="Center"
Width="24" Height="24" Grid.Row="..." Grid.Column="..."/>
</Canvas.Children>
</Canvas>
```
在 XAML 部分,将图片放在 `Canvas` 上,并通过 `Grid.Row` 和 `Grid.Column` 属性关联到网格。在 C# 控制器里,你可以动态绑定图片源(`ImageSource`)到某个网格单元。
阅读全文